-
【强制】大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果是非空代码块则:
- 左大括号前不换行
- 左大括号后换行
- 右大括号前换行
- 右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行
-
【强制】左小括号和字符之间不出现空格;同样,右小括号和字符之间也不出现空格;而左大括号前需要空格。详见第 5 条下方正例提示。
反例:if (空格 a == b 空格)
-
【强制】if/for/while/switch/do 等保留字与括号之间都必须加空格。
-
【强制】任何二目、三目运算符的左右两边都需要加一个空格。
说明:运算符包括赋值运算符=、逻辑运算符&&、加减乘除符号等。 -
【强制】采用 4 个空格缩进,禁止使用 tab 字符。
-
【强制】注释的双斜线与注释内容之间有且仅有一个空格。
-
【强制】单行字符数限制不超过 120 个,超出需要换行,换行时遵循如下原则:
- 第二行相对第一行缩进 4 个空格,从第三行开始,不再继续缩进,参考示例
- 运算符与下文一起换行
- 方法调用的点符号与下文一起换行
- 方法调用中的多个参数需要换行时,在逗号后进行
- 在括号前不要换行,见反例
//正例 StringBuffer sb = new StringBuffer(); // 超过 120 个字符的情况下,换行缩进 4 个空格,点号和方法名称一起换行 sb.append("zi").append("xin")... .append("huang")... .append("huang")... .append("huang"); //反例 StringBuffer sb = new StringBuffer(); // 超过 120 个字符的情况下,不要在括号前换行 sb.append("zi").append("xin")...append ("huang");
-
【强制】方法参数在定义和传入时,多个参数逗号后边必须加空格
-
【强制】IDE 的 text file encoding 设置为 UTF-8; IDE 中文件的换行符使用 Unix 格式,不要使用 Windows 格式。
-
【推荐】单个方法的总行数不超过 80 行。
-
【推荐】没有必要增加若干空格来使某一行的字符与上一行对应位置的字符对齐。
-
【推荐】不同逻辑、不同语义、不同业务的代码之间插入一个空行分隔开来以提升可读性。
- 说明:任何情形,没有必要插入多个空行进行隔开。