理论教育 编程要求:标准化语言、结构化格式、详细注释、公共函数调用

编程要求:标准化语言、结构化格式、详细注释、公共函数调用

时间:2023-06-17 理论教育 版权反馈
【摘要】:1955.对编程的语言要求如下:1)采用标准化的程序设计语言进行编程。1961.在编辑源程序时,应将其编辑成反映结构化特色的缩进格式,使编码的逻辑关系与程序清单的实际位置对应。1962.为提高可读性,在源程序中必须有足够详细的注释。注释的行数不得少于源程序总行数的1/5。1967.与结构有关的程序设计要求如下:1)可使用调用一个公共函数的方式代替重复的表示。1969.与输入输出有关的程序设计要求如下:1)检查输入的合法性和无二义性。

编程要求:标准化语言、结构化格式、详细注释、公共函数调用

1955.对编程的语言要求如下:

1)采用标准化的程序设计语言进行编程。

2)在同一系统中,应尽量减少编程语言的种类;应按照软件的类别,在实现同一类软件时应只采用一种版本的高级语言进行编程,必要时,也可采用一种机器的汇编语言编程。

3)应选用经过优选的编译程序或汇编程序,杜绝使用盗版软件。

4)为提高软件的可移植性和保证程序的正确性,建议只用语言编译程序中符合标准的部分进行编程,尽量少用编译程序引入的非标准部分进行编程。

1956.暂停、停止、等待指令要严格控制使用。

1957.高级语言的编程限制如下:

1)原则上不得使用GOTO语句;在使用GOTO语句能带来某些好处的地方,必须控制GOTO的方向,只许使用向前GOTO,不得使用向后GOTO。

2)对顺序程序的编制,应参照GJB 2786A—2009推荐的几种控制结构来编制程序;对并行程序的编制,应选择便于测试且简单的结构来编制程序。

1958.软件单元的圈复杂度(即McCabe指数)应小于10。

1959.对于用高级语言实现的软件单元,每个软件单元的源代码最多不应超过200行,一般不超过60行。

1960.对命令要求如下:

1)必须以显意的符号来命名变量和语句标号。

2)尽量避免采用易混淆的标识符来表示不同的变量、文件名和语句标号。

1961.在编辑源程序时,应将其编辑成反映结构化特色的缩进格式,使编码的逻辑关系与程序清单的实际位置对应。

1962.为提高可读性,在源程序中必须有足够详细的注释。注释应为功能性的,而非指令的逐句说明。注释的行数不得少于源程序总行数的1/5。

1963.在每个模块的可执行代码之前,必须用一段文字注释来说明如下内容:

1)模块名注释:标识模块的名称、版本号、入口点、程序开发者姓名、单位及开发时间。如有修改,还应标识修改者的姓名、单位和修改时间。

2)模块功能注释:说明模块的用途和功能。

3)输入输出注释:说明模块所使用的输入输出文件名,并指出每个文件是向模块输入,还是从模块输出,或两者兼而有之。

4)参数注释:说明模块所需的全部参数的名称、数据类型、大小、物理单位及用途,说明模块中使用的全局量的名称、数据类型、大小、物理单位及其使用方式,说明模块的返回值

5)调用注释:列出模块中调用的全部模块名和调用该模块的全部模块名。

6)限制注释:列出限制模块运行特性的全部特殊因素。

7)异常结束注释:列出所有异常返回条件及动作。

8)方法注释:说明该模块为实现其功能所使用的方法,为简练,亦可指出说明该方法的文档。

9)外部环境及资源注释:说明该模块所依赖的外部运行环境及所用资源,如操作系统、编译程序、汇编程序、中央处理机单元、内存、寄存器、堆栈等。

1964.在模块中,至少应对有条件改变数据值或执行顺序的语句(即分支转移语句、输入输出语句、循环语句、调用语句)进行注释。对这些语句的注释不得扰乱模块的清晰性,即这些注释也应符合程序的缩进格式。具体注释的方法如下:

1)分支转移语句:指出执行动作的理由。

2)输入输出语句:指出所处理的文件或记录的性质。

3)循环语句:说明所执行动作的理由及出口条件。

4)调用语句:说明调用过程的理由及被调模块的功能。

1965.在每个模块和软件单元中,对关键的于今标号和数据名还必须有准确的引用信息,并确定所有输入值和输出值的允许和预期范围;对计时器的值的注释必须包含计时功能的描述、其值及基本原理所引用的解释计时器值的基本原理文档。

1966.通用的程序设计具体要求如下:

1)程序要编写清楚,不要过分灵巧。

2)不要为了“效率”而牺牲清晰。

3)应使用库函数。

4)简单而直接地说明用意。

5)避免使用临时变量。

6)把繁琐的工作交给计算机去做。

7)使用语言中的好特征,避免使用不良特征。

8)先用易于理解的伪码语言编写。

9)选用能使程序更简单的数据结构

10)每个模块都只做一件事情。

11)不要修补不好的程序,应当重新编程。

12)将大程序分成小块去编写和测试。

13)对递归定义的数据结构适应递归过程。

14)确保所有变量在使用前都被初始化

15)不要查出一个错误就终止检查。

16)使用可以进行调试的编译程序。

17)避免因一个错误而造成中断。

18)在边界上检查程序。

19)进行防错性程序设计。(www.daowen.com)

20)应牢记10.0乘以0.1很少等于1.0这类事实,应避免进行浮点数相等的比较。

21)先保证正确,再提高速度。

22)先保持简单,再提高速度。

23)先保持清晰,再提高速度。

24)与其重用不合适的代码,不如重新编制。

1967.与结构有关的程序设计要求如下:

1)可使用调用一个公共函数的方式代替重复的表示。

2)使用括号以避免二义性。

3)避免不必要的分支。

4)不要使用条件分支去代替一个逻辑表达式。

5)若逻辑表达式难以理解,就修改到易于理解为止。

6)使程序自顶向下读。

7)用IF-ELSE-IF-ELSE来实现多路分支。

8)避免使用THEN-IF和空ELSE。

9)用IF-ELSE来强调只执行两个动作中的一个。

10)避免使用ELSE GOTO和ELSE RETURN语句。

11)尽量使用基本的控制流结构。

12)使与判定相联系的动作尽可能近地紧跟着判定。

13)使用数组以避免重复的控制序列。

14)要模块化,使用子程序。

15)使模块间的耦合清晰可见。

16)当心不要分支出两条等价的支路。

17)避免从循环引出多个出口。

1968.便于理解的程序设计风格如下:

1)选用不易混淆的变量名。

2)使用有意义的变量名。

3)使用有意义的语句标号。

4)保持注释和程序一致。

5)注释不要离题。

6)不要用注释去复述代码,使每条注释都起到提高可读性的作用。

7)不要注释不合理的代码,而要对其重写,直到易于理解为止。

8)程序的格式安排应有助于理解。

9)将数据编制成文档。

1969.与输入输出有关的程序设计要求如下:

1)检查输入的合法性和无二义性。

2)确保输入不违背程序的限制。

3)使用文件结束符或其他标记而不用计数来终止输入。

4)识别错误的输入,并尽可能地纠正错误。

5)用统一的方式处理文件的结束条件。

6)使输入易于准备,使输出能自我说明。

7)使用统一的输入格式。

8)使输入易于校对。

9)尽可能采用自由格式输入。

10)允许默认值,但应在输出时反映出来。

11)将输入和输出局限在子程序中。

1970.与FORTRAN语言有关的程序设计要求如下:

1)应避免FORTRAN的算术IF。

2)用DO-END和缩排格式来限定语句组的边界。

3)用DO和DO-WHILE强调循环的存在。

4)用DATA语句或INTIAL属性对常数初始化。

5)对常量用可执行代码初始化。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈