软件工程----代码规范

结对同学:王航 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;

posted @ 2017-10-11 11:46  lick  阅读(1699)  评论(0编辑  收藏  举报