一:为什么要遵守编码规范
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),一个唯一包的前缀我们都应该是小写的。
类名是一个名词,我们要求首字母大写,同时使用驼峰规则,类名简介且描述正确,尽量使用完整单词。注意:不要用汉语拼音!!!
方法名是一个动词,首字母小写,同时使用驼峰规则。
变量名我们也是要求首字母小写,同时使用驼峰规则,但是不要使用下划线,美元符号,数字作为首字母,尽管使用下划线和美元符号作为首字母是合法的。变量名中不能空格,也不能和关键字重复。
常量全部大写,同时使用下划线隔开。