Skip to content

Latest commit

 

History

History
110 lines (71 loc) · 4.76 KB

File metadata and controls

110 lines (71 loc) · 4.76 KB

代码规范

  • 缩进

1、使用的缩进的字符数为4个空格,用Tab(定义Tab键扩展成为4个空格键)来进行缩进,Tab键在不同的情况下会显示不同的长度,严重干扰阅读体验。4个空格的距离从可读性来说,正好。

2、在使用if或while等嵌套结构时,在if或while等语句下再进行Tab(扩展为4个空格)缩进,使程序看起来更清晰、美观。

  • 变量命名

1、局部变量使用lowerCamelCase风格,必须遵从驼峰形式。局部变量名采用英文单词的来命名,这样更能明白变量的含义。绝不使用拼音与英文混合的方式或直接使用中文的方式。

正例:studentId/teacherId 反例: DaZhePromotion [打折] / getPingfenByName() [评分] / int某变量 = 3

2、遇到含义相同的变量,会在末尾用1,2来区别。但也有例外,在使用循环变量时,因无特殊含义,仅用i,j,k来定义。

正例:p1/p2/p3 和 for(i = 0;。。。)

3、在标识符命名方面,少采用缩写,若采用缩写则查询国际通用的写法,用会发音的部分来命名,并在不容易理解的缩写命名后添加注释。标识符长度跟随所要表达的含义来增减长度,以使其更容易理解。在标识符命名中,最重要的是要保持一致性——在整个程序中,对变量或是函数一类使用相同的命名规则。

正例:int temp 和 int tmp

  • 每行最多字符数

1、每行行宽(含缩进)不允许超过100个字符。

2、当一个程序行很长时,在适当位置运用回车键将程序分行,使其不破坏语句的完整性,也使语句看起来显得不混乱、零散。

  • 函数最大行数

1、一个函数允许包含语句的行数我限制为80行,不包括空行和注释。

2、一个函数的最大长度和函数的复杂程度以及缩进大小成反比。

  • 函数、类命名

1、函数名使用lowerCamelCase风格,必须遵从驼峰形式。函数名用动词打头,以名词结尾的形式(少数会只有动词命名),使函数功能更容易理解。

正例:countWord/getId

2、类名使用UpperCamelCase风格,必须遵从驼峰形式。

正例:WordCount/Lib

  • 常量

1、常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚。

正例:public static final int YEAR = 365; 正例: MAX_STOCK_COUNT 反例: MAX_COUNT

2、如果变量值仅在一个范围内变化用Enum类。如果还带有名称之外的延伸属性,必须使用Enum类,类名后缀带Enum以清晰表示,枚举成员名称需要全大写,单词间用下划线隔开。下面正例中的数字就是延伸信息,表示星期几。

正例:publicEnum{MONDAY(1),TUESDAY(2),WEDNESDAY(3), THURSDAY(4),FRIDAY(5),SATURDAY(6),SUNDAY(7);}

  • 空行规则

1、变量定义和方法实现间增加空行,便于阅读。

2、在函数之间,增加空行来分割函数,这样使函数之间显得不拥挤,区分更加明显。

  • 注释规则

1、类、类方法的注释使用/内容/格式。

2、一般在变量名后,添加一行注释。

正例:char option; //功能选项

3、边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。

4、注释尽量只用ASCII字符,不要用中文或其他特殊字符,利于程序的可移植性。

  • 操作符前后空格

1、一元运算符与变量之间没有空格

正例:i++/!flag

2、二元运算符与变量之间必须有空格。

正例:int i = 0;/sum = x + y;

  • 大括号位置

1、每个“{”和“}”都独占一行。

正例:
if (condition)
{
  DoSomething();
}
else
{
  DoSomethingElse();
}

2、在if等语句块较为简单时,也不省略左右大括号的使用,以使程序显得更清晰、工整。

  • 其他规则

1、需要使用变量时,在使用前定义,避免一些需要用到其值时,无法获得的情况。例如:

正例:int i;
    for(i = 0;。。。)

2、多个变量定义时分行写,使程序更加美观。

正例:x = 1;
   y = 2;
   z = 3;

3、变量初始化时,提倡在尽可能小的作用域中声明变量,离第一次使用越近越好。这使得代码易于阅读,易于定位变量的声明位置、变量类型和初始值。

正例:int i = 3;

4、多个不同的运算符同时存在时合理使用括号来明确优先级。

例:2 << 2 + 1 * 3 - 4   2 << (2 + 1 * 3 - 4)

5、避免相同的代码段在多个地方出现相同的代码,必须归纳出来并且用一个类封装起来。 语句嵌套层次不得超过3层,超出的必须抽取出中间函数。