软件开发流程-程序编码

发表于:2014-04-28 18:22:07
【内容导读】随着软件产品的功能增添和版本的提高,代码越来越庞杂,源文件也越来越多, 对济南 软件开发 人员来...

一、软件编码-简介

随着软件产品的功能增添和版本的提高,代码越来越庞杂,源文件也越来越多, 对济南软件开发人员来说,除了保证程序运行的正确性和提高代码的运行效率之外,规范风格的编码会对软件的升级、修改、维护带来极大的方便性,也保证程序员不会陷入“代码泥潭”中无奈自拔。开发一个成熟的软件产品,除了有详细丰盛的开发文档之外,必需在编写代码的时候就井井有条,过细谨严。

以下的编码标准包括了程序排版、解释、命名、可读性、变量、程序效力、品质保障、代码编译、代码测试跟版本把持等留神事项。

二、编码规则-排版要求:

1.要害词和操作符之间加适当的空格。

2.绝对独破的程序块与块之间加空行

3.较长的语句、表达式等要分成多行书写。

4.划分出的新行要进行适应的缩进,使排版整洁,语句可读。

5.长表达式要在低优先级操作符处划分新行,操作符放在新行之首。

6.循环、判断等语句中若有较长的表白式或语句,则要进行适应的划分。

7.若函数或进程中的参数较长,则要进行恰当的划分。

8.不容许把多个短语句写在一行中,即一行只写一条语句。

9.函数或过程的开端、结构的定义及循环、判断等语句中的代码都要采取缩进风格。

10.C/C++语言是用大括号‘{’和‘}’界定一段程序块的,编写程序块时‘{’和‘}’应各独有一行并且位于同一列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。

三、编码规则-注释注意事项

1.注释要简略明了。

2.边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。

3.在必要的处所注释,注释量要适中。注释的内容要明白、明了,含义精确,防止注释二义性。坚持注释与其描述的代码相邻,即注释的就近原则。

4.对代码的正文应放在其上方相邻地位,不可放在下面。

5.对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个域的注解应放在此域的右方;统一构造中不同域的注释要对齐。

6.变量、常量的注释应放在其上方相邻位置或右方。

7.全局变量要有较具体的注释,包括对其功能、取值规模、哪些函数或过程存取它以及存取时注意事项等的阐明。

8.在每个源文件的头部要有必要的注释信息,包含:文件名;版本号;作者;天生日期;模块功能描写(如功能、重要算法、内部各局部之间的关系、该文件与其它文件关系等);主要函数或过程清单及本文件历史修改记载等。

9.在每个函数或过程的前面要有必要的注释信息,包括:函数或过程名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等。

四、编码规则-命名方法

1.较短的单词可通从前掉“元音”构成缩写;

2.较长的单词可取单词的头多少发符的优先级,并用括号明确抒发式的操作次序,避免使用默认优先级。

3.使用匈牙利表现法

五、编码规则-可读性方面

1.避免使用不易理解的数字,用有意思的标识来替换。

2.不要使用难懂的技能性很高的语句。

3.源程序中关系较为严密的代码应尽可能相邻。

六、编码规则-变量设置

1.去掉没必要的公共变量。

2.构造仅有一个模块或函数可以修改、创建,而其余有关模块或函数只访问的公共变量,防止多个不同模块或函数都可以修改、创建同一公共变量的现象。

3.细心定义并明白公共变量的含意、作用、取值范畴及公共变量间的关系。

4.明确公共变量与操作此公共变量的函数或过程的关系,如拜访、修正及创立等。

5.当向公共变量传递数据时,要非常警惕,防止赋与分歧理的值或越界等景象产生。

6.预防局部变量与公共变量同名。

7.仔细设计结构中元素的布局与排列顺序,使结构容易懂得、节俭占用空间,并减少引起误用现象。

8.结构的设计要尽量斟酌向前兼容和当前的版本进级,并为某些将来可能的利用保存余地(如预留一些空间等)。

9.留心详细语言及编译器处理不同数据类型的原则及有关细节。

10.严禁使用未经初始化的变量。申明变量的同时对变量进行初始化。

11.编程时,要注意数据类型的强迫转换。

七、编码规则-函数、过程

1.函数的范围尽量限度在200行以内。

2.一个函数最好仅实现一件功能。

3.为简单功能编写函数。

4.函数的功能应当是能够猜测的,也就是只有输入数据相同就应发生同样的输出。

5.尽量不要编写依附于其余函数内部实现的函数。

6.避免设计多参数函数,不使用的参数从接口中去掉。

7.用注释详细解释每个参数的作用、取值范围及参数间的关系。

8.检讨函数所有参数输入的有效性。

9.检查函数所有非参数输入的有效性,如数据文件、公共变量等。

10.函数名应正确描述函数的功能。

11.避免使用无意义或含义不清的动词为函数命名

12.函数的返回值要清晰、明了,让使用者不轻易疏忽过错情形。

13/明确函数功能,准确(而不是近似)地实现函数设计。

14.减少函数本身或函数间的递归调用。

15.编写可重入函数时,若使用全局变量,则应通过关中止、信号量(即P、V操作)等手段对其加以维护。

八、编码规则-可测性

1.在编写代码之前,应预先设计好程序调试与测试的方式和手腕,并设计好各种调测开关及相应测试代码如打印函数等。

2.在进行集成测试/系统联调之前,要结构好测试环境、测试项目及测试用例,同时仔细剖析并优化测试用例,以进步测试效率。

九、编码规则-程序效率

1.编程时要常常注意代码的效率。

2.在保证软件系统的正确性、稳定性、可读性及可测性的条件下,提高代码效率。

3.不能一味地寻求代码效率,而对软件的准确性、稳定性、可读性及可测性造成影响。

4.编程时,要随时留意代码效率;优化代码时,要考虑周全。

5.要仔细地构造或直接用汇编编写调用频繁或机能要求极高的函数。

6.通过对系统数据结构划分与组织的改良,以及对程序算法的优化来提高空间效率。

7.在多重循环中,应将最忙的循环放在最内层。

8.尽量减少循环嵌套档次。

9.防止轮回体内含判定语句,应将循环语句置于断定语句的代码块之中。

10.尽量用乘法或其它办法取代除法,特殊是浮点运算中的除法。

十、编码规则-质量保证

1.在软件设计过程中构筑软件质量。

代码质量保证优先准则

(1)正确性,指程序要实现设计要求的功能。

(2)稳固性、保险性,指程序稳定、牢靠、平安。

(3)可测试性,指程序要存在良好的可测试性。

(4)规范/可读性,指程序书写作风、命名规矩等要合乎规范。

(5)全局效率,指软件系统的整体效率。

(6)部分效率,指某个模块/子模块/函数的自身效率。

(7)个人表达方法/个人方便性,指个人编程习惯。

2.只引用属于本人的存贮空间。

3.防止引用已经开释的内存空间。

4.过程/函数中调配的内存,在过程/函数退出之前要释放。

5.过程/函数中申请的(为打开文件而使用的)文件句柄,在过程/函数退出前要封闭。

6.防止内存操作越界。

7.时刻注意表达式是否会上溢、下溢。

8.当真处置程序所能碰到的各种犯错情况。

9.体系运行之初,要初始化有关变量及运行环境,避免未经初始化的变量被援用。

10.系统运行之初,要对加载到系统中的数据进行一致性检查。

11.严禁随意更改其它模块或系统的有关设置和配置。

12.不能随便转变与其它模块的接口。

13.充足懂得系统的接口之后,再使用系统供给的功效。

14.要时刻注意易混杂的操作符。当编完程序后,应从头至尾检查一遍这些操作符。

15.不使用与硬件或操作系统关联很大的语句,而使用倡议的尺度语句。

16.提议:使用第三方提供的济南软件开发工具包或控件时,要注意以下几点:

(1)充分了解运用接口、使用环境及使用时注意事项。

(2)不能过火信任其正确性。

(3)除非必要,不要使用不熟习的第三方工具包与控件。

十一、编码规则-代码编译

1.编写代码时要注意随时保留,并按期备份,防止因为断电、硬盘破坏等起因造成代码丧失。

2.同一名目组内,最好使用相同的编纂器,济南IOS开发,并使用雷同的设置选项。

3.公道地设计软件系统目录,便利开发职员应用。

4.翻开编译器的所有告警开关对程序进行编译。

5.在同一项目组或产品组中,要同一编译开关选项。

6.使用工具软件(如Visual SourceSafe)对代码版本进行保护。

十二、编码规则-代码测试、维护

1.单元测试请求至少到达语句笼罩。

2.单元测试开始要跟踪每一条语句,并察看数据流及变量的变更。

3.清算、收拾或优化后的代码要经由审查及测试。

4.代码版本升级要经过严厉测试。