编码质量与规范要求

来源:互联网 发布:人工智能概念股2017 编辑:程序博客网 时间:2024/04/30 14:38

1 对于每一个变量、函数名及源代码文件名

1.1 必须给出有意义的英文名称,可以是缩写,如,userCnt, hitStat, pwdChk.
1.2 全局变量以g_开头,如,g_globalName.
1.3 变量首字母小写,如,userName.
1.4 对象的成员变量使用变量名加下划线方式表达,如, userName_.
1.5 函数的形参名必须以arg_为前辍,如, arg_userName.
1.6 多个词组合用驼峰方式表达,如camelCodeStyle.



2 对于单一个函数的使用

2.1 清晰理解函数的功能.
2.2 清晰理解每一个参数的意义、值域.
2.3 清晰理解函数返回值的意义、值域.
2.4 必须检测传递给被调用函数的参数值是否有意义、是否在该参数的值域中.
2.5 必须检测函数的返回值是否有意义、是否在返回值的值域中.
2.6 出错时必须进行日志输出,日志级别为ERROR.


3 对于每一行代码

3.1 清晰理解语句的作用.
3.2 清晰理解语句修改前相关变量值的状态、修改后相关变量值的可能状态.
3.3 对于循环,清晰理解起始条件、结束条件、中断条件,作用对象、操作对象值的变化过程.
3.4 对于判断语句,清晰描述每一个条件的意义,对于条件成立与不成立都必须能够清晰解释处理过程,作用对象、相关操作对象值的变化过程.


4 注释

4.1 尽量做到代码即文档,如果变量名、函数名能完全表达相对应的意义,则不需要注释.
4.2 如果对象名不能完全表达相对应的意义,则使用注释.
4.3 注释放在被注释对象的上一行,可以使用中文或英文,但提倡英文.
4.4 对于复杂的算法必须加以注释说明算法的执行过程.


5 测试用例

5.1 必须有测试用例来覆盖代码的所有使用模式,测试用例将作为代码的使用手册.
5.2 通过测试用例保证只要按测试用例方式使用该代码,则该代码必然实现预期功能.


6 版本管理

6.1 不得提交错误、部分、未测试代码.
6.2 不得提交无意义变更说明(svn的commit comment),如, xxxxxxxxxxxxx,yyyyyyyyy等
6.3 不得在结束当天工作时出现本机版本新于svn版本的情况,即必须及时提交变更.
6.4 对于未完成的代码请完整注释掉后提交,次工作日再打开注释后继续.
0 0