代码命名规范
命名风格
代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。
类名命名使用驼峰命名,比如UpperCamelCase 风格
常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类
命名以它要测试的类的名称开始,以 Test 结尾
- 方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从
驼峰形式。
中括号是数组类型的一部分,数组定义如下:String[] args;
包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。
枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。
常量定义
不允许任何魔法值(即未经定义的常量)直接出现在代码中。比如:String key=”Id#taobao_“+tradeId;cache.put(key,value);
long 或者 Long 初始赋值时,使用大写的 L,不能是小写的 l,小写容易跟数字 1 混淆,造成误解。
不要使用一个常量类维护所有常量,按常量功能进行归类,分开维护。
如果变量值仅在一个范围内变化,且带有名称之外的延伸属性,定义为枚举类。下面正例中的数字就是延伸信息,表示星期几:public Enum { MONDAY(1), TUESDAY(2), WEDNESDAY(3), THURSDAY(4), FRIDAY(5), SATURDAY(6), SUNDAY(7);}
代码格式
- 大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果是非空代码块则:
1) 左大括号前不换行。
2) 左大括号后换行。
3) 右大括号前换行。
4) 右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行
左小括号和字符之间不出现空格;同样,右小括号和字符之间也不出现空格。
if/for/while/switch/do 等保留字与括号之间都必须加空格。
任何二目、三目运算符的左右两边都需要加一个空格。
采用 4 个空格缩进,禁止使用 tab 字符。
说明::如果使用 tab 缩进,必须设置 1 个 tab 为 4 个空格。IDEA 设置 tab 为 4 个空格时,
请勿勾选 Use tab character;而在 eclipse 中,必须勾选 insert spaces for tabs
注释的双斜线与注释内容之间有且仅有一个空格。
单行字符数限制不超过 120 个,超出需要换行,换行时遵循如下原则:
1) 第二行相对第一行缩进 4 个空格,从第三行开始,不再继续缩进。
2) 运算符与下文一起换行。
3) 方法调用的点符号与下文一起换行。
4) 方法调用时,多个参数,需要换行时,在逗号后进行。
5) 在括号前不要换行
方法参数在定义和传入时,多个参数逗号后边必须加空格
IDE 的 text file encoding 设置为 UTF-8; IDE 中文件的换行符使用 Unix 格式,不要使用 Windows 格式
OOP规约
避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。
所有的覆写方法,必须加@Override 注解。
相同参数类型,相同业务含义,才可以使用 Java 的可变参数,避免使用 Object
Object 的 equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用equals。
所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较。
构造方法里面禁止加入任何业务逻辑,如果有初始化逻辑,请放在 init 方法中。
还没有评论,来说两句吧...