一:为什么要遵守编码规范

1、一个软件的生命周期中,80%的时间用于维护。

2、几乎没有任何一个软件,在整个生命周期中,是由最初的开发人员维护。

3、良好的代码规范,可以提高程序的可读性,有利于未来的开发人员理解程序。

二:源文件

1、第一句话

一个文件被换行分割成了不同的段落,超过2000行的程序将变得难于阅读,所以尽量避免哦。

2、第二句话

每一个java源文件都继承了一个公共类或者接口。若私有类或接口与一个公共类相关联,可以将他们放进同个源文件中。公共类必须是这个文件的第一个类或接口。

3、开头注释

每个源文件的开头都应该有一个包含了类名,版本信息,日期和版本声明的注释。

/**
 * ClassName
 * 
 * Version information
 * 
 * Data
 * 
 * Copyright notice
 */

4、包以及引入

源文件的第一行非注释行一定是包语句( package com.ljy.util; ),在它之后添加引入语句( import java.util.ArrayList; )。

5、缩进排版

四个空格作为一个单位,等同于一个制表符(一般来说,因为制表符长度是可以更改的)。

6、行长度

尽量避免一行的长度不要超过80个字符,因为一行的长度过于长会导致一般的编译器无法很好的处理(因为编译器可以调整字体大小,所以根据个人习惯调整,但同时也需要照顾到其他开发人员)。

7、换行

当一行表达式并不能容纳在一行里面时,我们需要通过使用下面的规范来进行换行。

1.在一个逗号后面换行

2.在一个操作符前面断开,同时尽量选择较高级别的断开,而不是较低级别的断开。

3.新的一行应该与上一行表达式开始的位置对齐。

8、注释

java注释分为三种,单行注释(//),块注释(/*.....*/),文档注释(/**......*/)。

注释用于给出代码的总结,同时提供代码自身没有提供的附加信息。同时注释应仅包含阅读和理解程序的信息,不应太过冗余。

使用当行注释时,双斜杠前后都应空出一个空格的距离(当前方无代码时无需空格)。

文档注释可以通过使用工具来导出,同时文档注释通常用来形容Java的类,接口,构造方法,方法等。

9、声明

推荐一行只写一个声明,因为这样可以方便我们写注释。

尽量声明局部变量时我们就进行初始化,除非它的值是依赖于之前方法的结果。

尽量在代码块({.......})开始的地方声明变量,不要再等到使用它的时候再声明使用,同时注意不要将局部变量覆盖上一级的变量。

在声明类和接口时,我们要注意方法名或者类名与右侧的参数列表之间不要有空格,但是参数列表要与左大括号有空格,左大括号要位于声明语句的最右侧,同时右大括号要与声明语句开始位置对齐,除非内容是空的,那么左右大括号应该在一起。

方法和方法之间应该有空行相隔。

10、语句

一行最多只能写一行语句!!!不要尝试一行多个,你一定会被打的。

在我们使用返回语句(即return ;)时,尽量不使用小括号(),除非你调皮的返回了一个语句,使用小括号来方便我们区分。

在我们使用逻辑判断语句或循环语句时,我们应该有的规范应该是这样的:

if (condition) {
    statements;
} else if (condition) {
    statements;
} else (condition) {
    statements;
}

for (initialization; condition; update) {
    statements;
}

do {
    statements;
} while (condition);

while (condition) {
    statements;
}

switch (condition) {
case A:
    statements;
    break;
case B:
    statements;
    break;
}

虽然java中如果我们在使用if语句时,没有添加{},是可以的,同时也只执行if下面的第一行语句,但是尽量不要使用这种方式,即使只要一行语句,也要添加{},这样可以极大地提高代码可读性。

在for循环的初始化语句或者修改语句时,我们尽量不要使用太多的逗号,而导致复杂度提高,如果真的需要,我们可以初始化语句放在循环最开始,修改语句放在循环最后。

11、空行

我们在类声明和接口声明之间使用两个空行

在两个方法之间、方法内的局部变量和方法的第一条语句、块注释和单行注释之前、一个方法的两个逻辑段之间,我们都使用一个空行

12、空格

一个紧跟着小括号的关键字应该与小括号之间空开。但是注意,方法名与右侧的括号之间不要空开。

在参数列表中每个参数与前一个参数最后的逗号我们应该空开。

所有的二元操作符,我们都应该用用空格与操作数空开。但是一元操作符我们不应该空格。

for语句中的表达式应该用空格空开。

强制转型的括号后面应该加一个空格。

13、命名规范

对于包(backages),一个唯一包的前缀我们都应该是小写的。

类名是一个名词,我们要求首字母大写,同时使用驼峰规则,类名简介且描述正确,尽量使用完整单词。注意:不要用汉语拼音!!!

方法名是一个动词,首字母小写,同时使用驼峰规则。

变量名我们也是要求首字母小写,同时使用驼峰规则,但是不要使用下划线,美元符号,数字作为首字母,尽管使用下划线和美元符号作为首字母是合法的。变量名中不能空格,也不能和关键字重复。

常量全部大写,同时使用下划线隔开。