java 代码规范

命名规范

1.包名:包名全部小写,连续的单词只是简单地连接起来,不使用下划线;
2.类名:使用大驼峰命名规则,首字母大写,连续单词首字母大写;例如:UpperCamelCase
3.方法名:使用小驼峰命名规则,以动词开头且首字母小写;例如:getCamelCase
4.常量名:连续单词全部大写,各单词之间使用下划线连接;例如:private static final long MIN_VALUE = 0x8000000000000000L;
5.枚举成员名:单词全部大写;例如:private enum Suit { CLUBS, HEARTS, SPADES, DIAMONDS }
6.变量名:名词或名词短语,使用小驼峰命名规则;例如:String lowerCamelCase = null;

注释规范

1.文档注释:使用/**...*/,@param,@return,@see,@throws,@Deprecated等注解;
2.块注释:使用/* ... */;
3.行注释:使用//;
4.在类,接口,方法,字段前使用文档注释进行说明;
5.特殊处理的逻辑或复杂逻辑,要注明实现过程或特殊处理的原因;
6.实体bean对象,字段要配有相应的注释;

编码规范

1.方法体行数,不能超过屏幕的一整屏,可将逻辑拆分到不同方法体;
2.方法传参个数超过4个时,要定义bean对象封装参数,进行参数的传递;
3.声明变量,等号两边有一个空格;例如:String name = null;
4.运算符两边要有一个空格;例如:if(a == b);
5.多个参数,逗号后有空格;例如:method(a, b, c);
6.import不要使用通配符;例如:import java.util.*;
7.大括号与if, else, for, do, while语句一起使用,即使只有一条语句(或是空),也应该把大括号写上;例如:if(true) {return;}
8.定义类,接口,方法或语句块时,左大括号{在声明语句同行的末尾,右大括号}则另起一行,与相应的声明语句对齐,除非是一个空语句,"}"应紧跟在"{"之后;例如:
class A {
public void method(int a, int b) {
System.out.println("java code format.");
}
public void method2() {return;}
}
9.代码缩进以4个空格作为缩进排版的一个单位;
10.代码行的长度不能超过正常可视区域宽度,一般限制为100个字符,超过部分自动换行;
11.消除代码中的黄色警告;例如:Ctrl+Shilft+O 去除无用的类引用, 变量或方法定义未使用,Map泛型定义未指定具体的类型,Map map = new HashMap();等
12.每次只声明一个变量,不要使用组合声明;例如:int a, b;
13.只要是复写父类的方法,必须在方法前加上@Override注解;
14.对于不建议使用的方法,要使用@Deprecated注解标明;
15.多个重载的方法,或关联性比较强的方法,必须按顺序放在一起;
16.静态成员变量的访问:应该通过类,而不是对象;例如:Long.MIN_VALUE;
17.不要在循环体中定义变量,而是放在循环体外定义;
18.适当增加空行将不同逻辑代码段分隔开,以提高可读性;例如:两个方法之间,一个方法内的两个逻辑段之间等;
19.避免在一个语句中给多个变量赋值;例如:a = b = c = 1;
20.对于字符串的拼接,尽量使用StringBuilder或StringBuffer来代替 + 连接符;
21.尽量避免在循环体中,使用try-catch-finally捕获异常,应该将捕捉异常逻辑放在循环体外;
22.及时清除不再需要的对象引用;例如:a = null;
23.和变量做比较时,应该将常量写在前面,可以防止空指针异常和错写成赋值语句;例如:if("java".equals(a))或if(1 == a);
24.对于资源回收,流关闭或锁释放等操作,要放在finally{}语句块中执行;
25.尽量使用同步代码块来替代同步方法,合理控制锁的粒度;

日志规范

1.程序运行异常的堆栈信息必须打印;例如:log.error("exception description", e);
2.不要在日志中打印出用户的敏感信息;例如:密码;
3.用户操作中出现的异常,要将异常信息和用户账号一起打印出来,便于定位问题;
4.合理的使用日志级别,fatal > error > warn > info > debug > trace;例如:程序运行异常日志,使用log.error(e);
5.尽量避免在循环体中打印程序运行日志;

eclipse 配置文件

代码格式化配置文件

代码模板文件