Java编程规约(代码格式)
内容源自阿里巴巴Java开发手册(华山版)
- 【强制】如果是大括号内为空,则简洁地写成{}即可,大括号中间无需换行和空格;
if(){} // 大括号中间无需空格和换行
- 【强制】如果是非空代码块则:
1. 左大括号前不换行。
2. 左大括号后换行。
3. 右大括号前换行。
4. 右大括号后还有else等代码则不换行;表示终止的右大括号后必须换行。if () { //左大括号后换行 ... } // 右大括号前换行
- 【强制】左小括号和字符之间不出现空格;同样,右小括号和字符之间也不出现空格;而左大括号前需要空格。
if (a == b) { // 左大括号前需要空格 ... }
- 【反例】:if (空格a == b空格)
- 【正例】:if (a == b)空格{}
- 【强制】if/for/while/switch/do等保留字与括号之间都必须加空格。
if () {} for () {} while () {} switch () {} do ()
- 【强制】任何运算符的左右两边都需要加一个空格。
- 【强制】采用4个空格缩进,禁止使用tab字符。
- 【说明】:如果使用tab缩进,必须设置1个tab为4个空格。IDEA设置tab为4个空格时,请勿勾选Use tab character;而在eclipse中,必须勾选insert spaces for tabs。
- 【强制】 双斜线注释与注释内容之间有且仅有一个空格。
- 【强制】在进行类型强制转换时,右括号与强制转换值之间不需要添加空格。
- 【强制】 单行字符数限制不超过120个,超出需要换行,换行时遵循如下原则:
- 第二行相对第一行缩进4个空格,从第三行开始,不再继续缩进。
- 运算符与下文一起换行。
- 方法调用的点符号与下文一起换行。
- 方法调用中的多个参数需要换行时,在逗号后进行。
- 不要方法名与参数列表直接换行。
- 【强制】方法参数在定义和传入时,多个参数逗号后边必须加空格,逗号前不需要。
- 【强制】IDE的text file encoding设置为UTF-8; IDE中文件的换行符使用Unix格式,不要使用Windows格式。
- 【推荐】 单个方法的总行数不超过80行。
- 说明:除注释之外的方法签名、左右大括号、方法内代码、空行、回车及任何不可见字符的总行数不超过80行。
- 【正例】:代码逻辑分清红花和绿叶,个性和共性,绿叶逻辑单独出来成为额外方法,使主干代码更加清晰;共性逻辑抽取成为共性方法,便于复用和维护。 - 【推荐】没有必要增加若干空格来使变量的赋值等号与上一行对应位置的等号对齐。
- 【推荐】不同逻辑、不同语义、不同业务的代码之间插入一个空行分隔开来以提升可读性。