2.1 程序设计风格# _+ K& z1 n2 M2 ] ^
程序设计的风格主要强调:“清晰第一,效率第二”(注释1)。主要应注重和考虑下述一些因素:
6 c; e+ e6 M3 U. l (1)源程序文档化。. i; l) h+ S; E8 k
1)符号名的命名。符号名能反映它所代表的实际东西,应有一定的实际含义。* \, h4 l3 S7 N1 G! ?
2)程序的注释。分为序言性注释和功能性注释。* _+ o8 {& s$ Z ]* E8 O
序言性注释:位于程序开头部分,包括程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期及修改日期等。
# I8 z9 U \) `; O' K+ f 功能性注释:嵌在源程序体之中,用于描述其后的语句或程序的主要功能。- g$ \/ S9 u# H; z5 I! M+ m [
3)视觉组织。利用空格、空行、缩进等技巧使程序层次清晰。$ _& z( t$ O$ {. \
(2)数据说明。
) H+ A4 M2 S9 ~ n0 a 1)数据说明的次序规范化;
5 v2 a3 M& |) i. f$ n& }$ W5 o3 I 2)说明语句中变量安排有序化;; T; X, C# f/ a4 |1 N5 a) H
3)使用注释来说明复杂数据的结构。- O2 V+ e, t& t) e9 |6 g
(3)语句的结构。
1 y# x f. n! d0 _+ h 1)在一行内只写一条语句;7 R3 P& P/ G& ^' N8 e* }- A8 ]
2)程序编写应优先考虑清晰性;9 P) {% e' X& n# U+ Q8 l$ [
3)程序编写要做到清晰第一,效率第二;
3 M9 h- o5 r1 f" N, w 4)在保证程序正确的基础上再要求提高效率;1 ?1 w" g6 ]5 w; T4 _! J
5)避免使用临时变量而使程序的可读性下降;5 w) ~+ m$ U9 z$ B1 `% |. A" M
6)避免不必要的转移;
1 r9 }1 r& B' }7 Q z+ Y 7)尽量使用库函数;9 j4 `' _3 {) T. i5 b
8)避免采用复杂的条件语句;' Z- x" g1 u6 y
9)尽量减少使用“否定”条件语句;
" ?0 H. G4 p+ d 10)数据结构要有利于程序的简化;5 l" i: i3 J: F1 D. i# C% d Y
11)要模块化,使模块功能尽可能单一化;9 t0 ^+ E1 v6 Q1 B2 Y
12)利用信息隐蔽(注释2),
, T) M/ T$ m& R; O4 j' j 确保每一个模块的独立性;( ]* N: e9 g9 C
13)从数据出发去构造程序;
, v2 i) _2 |2 {( f9 K2 y 14)不要修补不好的程序,要重新编写。' w* D7 L- L5 J$ H r; D
(4)输入和输出。
5 F- }5 H1 [3 l' D" D, U7 t 1)对输入数据检验数据的合法性;
: P% e. p( j6 g/ z) ~+ E- g) I7 d9 p8 S 2)检查输入项的各种重要组合的合法性;
2 i. G% m6 S) j) y" d 3)输入格式要简单,使得输入的步骤和操作尽可能简单;7 b |& p+ Y" K
4)输入数据时,应允许使用自由格式;
' O- x0 u% a2 G& H! ]+ I2 T 5)应允许缺省值;( |( V \; x% v. Z- ^1 Z* _
6)输入一批数据时,最好使用输入结束标志;
! c7 E" T1 K: Q. F% ^( U- } 7)在以交互式输入/输出方式进行输入时,要在屏幕上使用提示符明确提示输入的请求,同时在数据输入过程中和输入结束时,应在屏幕上给出状态信息; |. O2 g; E- C+ U8 o
8)当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的一致性;给所有的输出加注释,并设计输出报表格式。
/ {6 S( S. E9 y2 F2 Q: {* `1 p 注释1:“清晰第一,效率第二” 是当今主导的程序设计风格。+ O; M! ]# d6 X2 ~1 @( g9 ]. f2 `8 m
注释2:信息隐蔽是指采用封装技术,将程序模块的实施细节隐藏起来,使模块接口尽量简单。即指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其它模块来说,是不能访问的。 |