开发规约
分类:
文章
•
2024-09-21 08:47:04
编程规约
-
命名风格
- 抽象类名使用Abstract或者Base开头;异常类命名使用Exception结尾;测试类命名要以它要测试的类的名称开始,以Test结尾。
- 包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。
- 正例:应用工具类包名为com.alibaba.ai.util、类名为MessageUtils(此规则参考spring的框架结构)
- 在常量与变量的命名时,表示类型的名词放在词尾,以提升辨识度。
- 正例:startTime / workQueue / nameList / TERMINATED_THREAD_COUNT
- 反例:startedAt / QueueOfWork / listName / COUNT_TERMINATED_THREAD
- 接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁性,并加上有效的Javadoc注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,并且是整个应用的基础常量。
- 正例:接口方法签名 void commit();
- 接口基础常量 String COMPANY = “alibaba”;
- 反例:接口方法定义 public abstract void f();
- 说明:JDK8中接口允许有默认实现,那么这个default方法,是对所有实现类都有价值的默认实现。
-
代码格式
- 如果是大括号内为空,则简洁地写成{}即可,大括号中间无需换行和空格;如果是非空代码块则:
1) 左大括号前不换行。
2) 左大括号后换行。
3) 右大括号前换行。
4) 右大括号后还有else等代码则不换行;表示终止的右大括号后必须换行。
- 左小括号和字符之间不出现空格;同样,右小括号和字符之间也不出现空格;而左大括号前需要空格。 反例:if (空格a == b空格)
- if/for/while/switch/do等保留字与括号之间都必须加空格。
- 任何二目、三目运算符的左右两边都需要加一个空格(单目:a++;二目:a + b;三目:三元运算符)。
说明:运算符包括赋值运算符=、逻辑运算符&&、加减乘除符号等。
- 采用4个空格缩进,禁止使用tab字符。
说明:如果使用tab缩进,必须设置1个tab为4个空格。IDEA设置tab为4个空格时,请勿勾选Use tab character;而在eclipse中,必须勾选insert spaces for tabs。
- 注释的双斜线与注释内容之间有且仅有一个空格。
- 方法参数在定义和传入时,多个参数逗号后边必须加空格。
- 正例:method(args1, args2, args3)