作业20170928—1代码规范,结对要求

要求1 《代码规范》包括10项条款。制定条款的目的是在程序设计的过程中(触犯和)约束代码风格,希望切实可行,容易观察和客观检验。

比如, 每个函数不超过5行,对于初学者是不切实际的; 大括号匹配纵列对齐,是切实可行的; 变量名易读,是不易检验的,变量名必须是名词短语,遵循匈牙利命名法,是易于检验的。 (10分)

1.大括号匹配纵列对齐。

2.为避免代码长度过长需要断行造成难以阅读的问题,规定每行只写一条语句。

3.如何处理缩进问题?当遇到有关命名空间、类、结构、函数、以及枚举等等复杂程序结构的定义的时候,需要将它的内容缩进一层。

4.如何取变量名?规定变量名的取名原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。

5.使用空行分隔代码块。

6.分行定义变量。

7.不能使用连续的两个或多个空格。

8.注释要写在函数的上方,注释不能跟代码写在同一行。

9.每个代码文件要有一个相对应的readme文档说明。

10.编程原则是先确定代码结构,写出框架再逐步分模块进行填充。

(这是我自己对于代码风格的初步设想,最终版需要跟partner一起敲定)

最终与结对编程的小伙伴冉华同学确定了最终的代码规范,如下:

开始时间: 2017年10月3日 上午9时35分
结束时间: 2017年10月3日 11时22分22秒
1.    格式
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;
2.    命名
变量主要分为类的公有和私有变量,方法的参数变量与内部使用的临时变量。
A.    变量的名称由多个名词单词或一个名词单词组成时,第一个单词首字母小写,其他单词首字母均大写。如makeRule。
B.    对于const常量,所有单词均大写,且单词之间由下划线”_”连接,如APP_NAME。
C.    函数名称的第一个单词为小写的动词。如isValidExp(表达式是否合法)。
D.    变量名和函数名能够表达它所具有的实际含义。如函数名isValid表示返回值是否合法,res表示是返回值。
 
E.    尽量避免单词缩写,即便它可能是众所周知的。
3.    注释
A.    只用采用“//”作为注释符
B.    注释的位置
(1)    注释在被注释函数定义的顶部
 
(2)    注释在函数内部变量声明的右边
 
(3)    注释在函数内部逻辑代码的顶部
 
C.    注释的内容
(1)    代码的功能
 
(2)    对读者阅读代码时可能产生的疑问做解释,比如,该段代码使用了堆栈,为什么需要堆栈而并非数组,在此处代码部分给出注释

git地址:https://coding.net/u/Dawnfox/p/f4/git/tree/master/doc

要求2 记录完成本周作业过程中,《代码风格规范》执行情况。包括记录每一条规则的违反和纠正、次数,规范中某项条款的增强、消弱、或废除。在编码过程中完全未被违反的条款,说明过于宽松,或你们已经完全"本能"反应,不应作为条款,在本要求及要求1中不得分。此种情况,应补充一条新的条款。 (20分)

原文地址:https://www.cnblogs.com/yuanyue-nenu/p/7620057.html