Java开发手册(常用代码规范)
一. 命名风格
1.代码中的命名均不能以不能以下画线或美元符号开始或结束结束。
反例 name/_ nane /sname 1 name-
2.类名使用UpperCamelCase风格,但DO/BO/ DTOVO/AO/PO等情形例外
正例: MacoPolo/ UserDO
反例: macroPolo / UserDo
3.方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵守驼峰形式。
正例: localValue/ getHttpMessage()/inputUserId
4.常量命名全部大写,单词间用下划线隔开,力求语句表达清楚完整,不要嫌名字长
正例:MAX_STOCK_COUNT
5.包名统一使用小写
正例:com.alibaba.ai.util
二.常量定义
1.不允许任何魔法值(即未经预先定义的常量)直接出现在代码中
2.long或者Long初始赋值时,使用大写l不能是小写l,小写l容易跟数字1混淆,造成误解。
Long a = 2L
3.大括号的使用约定。如果大括号内为空,则简洁地写成{}即可,不需要换行:如果是非空代码块,则:
1)左大括号前不换行。
2)左大括号后换行。
3)右大括号前换行。
4)右大括号后还有else等代码则不换行;表示终止的右
大括号后必须换行。
4.左小括号和字符之间不出现空格;同样,右小括号和字符之间也不出现空格。
反例: if (空格a == b空格)
5.if/for/while/switch/do等保留字与括号之间都必须加空格
正例:if (a = b)
6.任何二目、三目运算符的左右两边都需要加一个空格。
说明:运算符包括赋值运算符=、逻辑运算符&&、 加减乘除符号等。
7.注释的双斜线与注释内容之间有且仅有一个空格
正例:
// 你好骚啊
String a = new String();
8.方法参数在定义和传入时多个参数逗号后面必须加个空格。
正例:method("你为什么", "穿着", "品如的衣服");
三.OOP规约
1.避免通过一个类的对象引用访问此类的静态变量或者静态方法,造成无谓地增加编译器解析成本,直接使用类名来访问即可
2.所有的覆盖方法,必须加@Override
3.相同的参数类型,相同的业务含义,才可使用Java的可变参数,避免使用Object
4.object的equals方法容易抛空指针异常,应用常量或确定有值的对象来调用equals.
正例: "test".equals (object) ;
反例: object. equals ("test");
说明:推荐使用java.util .objects#equals ( JDK7引入)
5.所有相同类型的包装类对象之间值的比较,全部使用equals方法。
6.构造方法里面禁止加入任何业务逻辑,如果有初始化逻辑,请放在init的方法中。