做业要求:【https://edu.cnblogs.com/campus/nenu/SWE2017FALL/homework/993】
代码规范文档/代码规范执行记录:【https://coding.net/u/Dawnfox/p/f4/git/tree/master/doc】
结对同窗:【袁玥】
我和队友于2017/10/3肯定四则运算做业的代码规范主要由三方面构成:格式、命名和注释。git
A. 代码行数 (1) 代码文件不超过500行 (2) 函数的行数不超过50行 B. 换行 (1) 函数与函数之间空一行 (2) 函数内部变量声明与函数内部逻辑代码之间空一行 (3) 函数内部不一样逻辑代码之间空一行 C. 大括号 “{”和“}”必须单独在一行上,且上下对齐。 D. 缩进 代码缩进一导致用Tab实现,规定Tab键宽度为4个字符,不建议使用空格进行缩进。 E. 空格 (1) 函数参数列表中不一样参数之间应该用一个空格分开,即逗号后面应跟一个空格。如: void updateData(int source, int target) (2) for循环中表达式之间应该用一个空格分开,即分号后面应跟一个空格。如: for(exp1; exp2; exp3) (3)操做符与操做数之间应该用一个空格分开,一元操做符(例如自增“++”,自减“--”等)与操做符不做此限定。如: a += b + c; ++a;
变量主要分为类的公有和私有变量,方法的参数变量与内部使用的临时变量。 A. 变量的名称由多个名词单词或一个名词单词组成时,第一个单词首字母小写,其余单词首字母均大写。如makeRule。 B. 对于const常量,全部单词均大写,且单词之间由下划线”_”链接,如APP_NAME。 C. 函数名称的第一个单词首字母为大写的动词。如IsDir(是否为目录)。 D. 变量名和函数名可以表达它所具备的实际含义。如函数名IsDir表示输入路径是否为目录,res表示是判断的结果。
E. 尽可能避免单词缩写,即使它多是众所周知的。
A. 只采用“//”做为注释符 B. 注释的位置 (1) 注释在被注释函数定义的顶部
(2) 注释在函数内部变量声明的右边
(3) 注释在函数内部逻辑代码的顶部
C. 注释的内容 (1) 代码的功能
(2) 对读者阅读代码时可能产生的疑问作解释,好比,该段代码使用了堆栈,为何须要堆栈而并不是数组,在此处代码部分给出注释
规范项 | 状况记录 | 违反次数 | 待修订 | 已修订 | 备注0(是否对条款进行加强) | 备注1(是否对条款进行消弱) | 备注2(是否对条款进行废除) |
---|---|---|---|---|---|---|---|
格式.A.(1) | 代码文件不超过500行 | 1 | 1 | 0 | 0 | 1 | 0 |
格式.A.(2) | 函数的行数不超过50行 | 3 | 3 | 0 | 0 | 0 | 1 |
格式.B.(1) | 函数与函数之间空一行 | 0 | 0 | 0 | 0 | 0 | 0 |
格式.B.(2) | 函数内部变量声明与函数内部逻辑代码之间空一行 | 0 | 0 | 0 | 0 | 0 | 0 |
格式.B.(3) | 函数内部不一样逻辑代码之间空一行 | 2 | 0 | 2 | 0 | 0 | 0 |
格式.C | “{”和“}”必须单独在一行上,且上下对齐 | 11 | 0 | 11 | 0 | 0 | 0 |
格式.D | 代码缩进一导致用Tab实现,规定Tab键宽度为4个字符,不建议使用空格进行缩进 | 0 | 0 | 0 | 0 | 0 | 0 |
格式.E.(1) | 函数参数列表中不一样参数之间应该用一个空格分开,即逗号后面应跟一个空格 | 1 | 0 | 1 | 0 | 0 | 0 |
格式.E.(2) | for循环中表达式之间应该用一个空格分开,即分号后面应跟一个空格 | 0 | 0 | 0 | 0 | 0 | 0 |
格式.E.(3) | 操做符与操做数之间应该用一个空格分开,一元操做符(例如自增“++”,自减“--”等)与操做符不做此限定 | 0 | 0 | 0 | 0 | 0 | 0 |
命名.A | 变量的名称由多个名词单词或一个名词单词组成时,第一个单词首字母小写,其余单词首字母均大写。如makeRule | 0 | 0 | 0 | 0 | 0 | 0 |
命名.B | 对于const常量,全部单词均大写,且单词之间由下划线”_”链接,如APP_NAME | 0 | 0 | 0 | 0 | 0 | 0 |
命名.C | 函数名称的第一个单词首字母为大写的动词。如IsDir(是否为目录) | 0 | 0 | 0 | 0 | 0 | 0 |
命名.D | 变量名和函数名可以表达它所具备的实际含义。如函数名IsDir表示输入路径是否为目录,res表示是判断的结果 | 0 | 0 | 0 | 0 | 0 | 0 |
命名.E | 尽可能避免单词缩写,即使它多是众所周知的 | 3 | 0 | 3 | 0 | 0 | 0 |
注释.A | 只采用“//”做为注释符 | 0 | 0 | 0 | 0 | 0 | 0 |
注释.B.(1) | 注释在被注释函数定义的顶部 | 0 | 0 | 0 | 0 | 0 | 0 |
注释.B.(2) | 注释在函数内部变量声明的右边 | 0 | 0 | 0 | 0 | 0 | 0 |
注释.B.(3) | 注释在函数内部逻辑代码的顶部 | 0 | 0 | 0 | 0 | 0 | 0 |
注释.C.(1) | 代码的功能 | 2 | 0 | 2 | 0 | 0 | 0 |
注释.C.(2) | 对读者阅读代码时可能产生的疑问作解释,好比,该段代码使用了堆栈,为何须要堆栈而并不是数组,在此处代码部分给出注释 | 0 | 0 | 0 | 0 | 0 | 0 |
修订时间 | 版本 | ||||||
2017/10/11 0:00:00 | V1.0 |