软件工程----代码规范
结对同学:王航 http://www.cnblogs.com/wangh013/
要求1 《代码规范》包括10项条款。制定条款的目的是在程序设计的过程中(触犯和)约束代码风格,希望切实可行,容易观察和客观检验。 比如, 每个函数不超过5行,对于初学者是不切实际的; 大括号匹配纵列对齐,是切实可行的; 变量名易读,是不易检验的,变量名必须是名词短语,遵循熊匈牙利命名法,是易于检验的。
《代码规范》之10项条款
1.“开发程序的软件很多,但是它们的检查方式全是检查语法,并没有规定变量命名以及方法的命名,所以注释是很必要的东西。”——注释
对变量及方法进行相应的注释,可使代码易于维护,程序并非一次性的产品,它需要扩展、修改还有维护。
2.“变量名、函数名,都只敲一遍,以后全部是拷贝+粘贴。”——拷贝+粘贴
可防止因少或多打一两个字母,而出现的bug问题。
3.“标识符的首字母小写,而每个后面连接的单词的首字母都大写。”——小大写
在命名变量或方法名时,遵循统一的命名规则,尽量做到名如其义,且命名时首字母小写,其后的单词首字符都大写。
4.“缩进应该是每行一个Tab(4个空格),不要在代码中使用Tab字符。”——缩进
表现代码的逻辑层次,易于查看,每行的一个Tab是指基于上层或所在逻辑结构,并非都是基于本行开头部分。
5.“空行是为了将逻辑上相关联的代码分块,以便提高代码的可阅读性。
在代码中,不能包含多个空行。
在以下情况下使用一个空行:
1)方法中变量声明与语句之间。
2)方法与方法之间。
3)方法中不同的逻辑块之间。
4)方法中的返回语句与其他的语句之间。
5)属性与方法、属性与字段、方法与字段之间。
6)注释与它注释的语句间不空行,但与其他的语句间空一行。”——空行
其基本原则是在每一个小的逻辑块之间加空行。
6.“1)左花括号‘{’与关键字或方法名在同一行,中间置一个空格。
2)右花括号‘}’要与相应的左花括号‘{’所在方法对齐,单独成行。”
——花括号
例如:
public void add() {
......
}
7.“建议在变量声明时就对其做初始化。”——初始化
8.“变量建议置于块的开始处,不要总是在第一次使用它们的地方做声明。”——声明变量的位置
若此变量并非只在局部被使用一次,其声明就应该放在本块的开始部分,方法内部较靠前的位置进行变量的声明,易于查看和维护。
9.对于属性的设置,尽量设置为private类型,对于它的调用,可通过其get或set方法,这样要比直接将其设置为public要好一些。——属性的类型设置
10.switch-case语句使用格式
switch(condition) {
case 1:
statements;
break;
case 2:
statements;
break;
default:
statements;
break;
}
注意:
1)每个case各占一行。
2)每个case按照字母顺序进行排序。
3)每个非空case均提供break;结束语句。
4)每个switch语句均提供default分支。 ——switch语句的结构
要求2 记录完成本周作业过程中,《代码风格规范》执行情况。包括记录每一条规则的违反和纠正次数,规范中某项条款的增强、消弱、或废除。在编码过程中完全未被违反的条款,说明过于宽松,或你们已经完全"本能"反应,不应作为条款,在本要求及要求1中不得分。此种情况,应补充一条新的条款。 (20分)
一、违反和纠正次数:
第一条:2次
第二条:5次
第三条:1次
第四条:4次
第五条:4次
第八条:1次
第十条:3次
二、规范中某项条款的增强、消弱、或废除
1)对于注释,要注意其规范性,对某个模块的注释,使用/**/;对某个变量或方法的注释,使用//。
2)对于变量的命名,尽量做到看到名字就明确其意义,对于像calculate()这样的方法,写calculate就比只写三个字母cal好一些。
3)对于缩进,一定要严格执行,表示着编程中的逻辑性。
4)对于空行,要在模块间适当的加入进去,但也应当注意加入一行空格,不要有的地方是一行,有的地方是两行。
三、补充三条新的条款
1)适当的空格:本次有关空格的错误违反多达9次,虽然这个问题比较小,但是应当注意在运算符号“+”、“-”或者用双引号使用某变量的值时,适当加入空格会使代码整体更加规范。
例如:
System.out.println("你一共答对"+right+"道题,共"+number+"道题。");
与
System.out.println("你一共答对" + right + "道题,共" + number + "道题。");
相比较而言,后者看起来更好一些。
2)模块头部注释,可以在某个模块前加入如下内容,为了更好地了解开发和修改情况。
作者(Author)、日期(Create Date)、参考文档(Reference)(可选)、引用(Using) (可选)、修改记录(Revision History):若档案的所有者改变,则需要有修改人员的名字、修改日期及修改理由。
3)变量声明:为了保持更好的阅读习惯,应一行只声明一个变量,而不是讲多个变量声明写在一行中。
例如:
String strTest1, strTest2;
应写成:
String strTest1;
String strTest2;