
1.3 代码格式
1【强制】如果是大括号内为空,则简捷地写成{}即可,大括号中间无须换行和空格;如果是非空代码块,则:
1)左大括号前不换行;
2)左大括号后换行;
3)右大括号前换行;
4)右大括号后如果还有else等代码,则不换行;表示终止的右大括号后必须换行。
2【强制】左小括号和右边相邻字符之间不出现空格;右小括号和左边相邻字符之间也不出现空格;而左大括号前需要加空格。详见本节第5条下方正例提示。

3【强制】if/for/while/switch/do等保留字与括号之间都必须加空格。
4【强制】任何二目、三目运算符的左右两边都需要加一个空格。
说明:运算符包括赋值运算符=、逻辑运算符&&、加减乘除符号等。
5【强制】采用4个空格缩进,禁止使用Tab字符。
说明:如果使用Tab缩进,必须设置1个Tab为4个空格。当IDEA设置Tab为4个空格时,必须勾选Use tab character;而在Eclipse中,必须勾选insert spaces for tabs。

6【强制】注释的双斜线与注释内容之间有且仅有一个空格。

7【强制】在进行类型强制转换时,右括号与被强制转换的值之间不需要任何空格隔开。

8【强制】单行字符数限制不超过120个,超出需要换行,换行时遵循如下原则:
1)第二行相对第一行缩进4个空格,从第三行开始,不再继续缩进,参考示例;
2)运算符与下文一起换行;
3)方法调用的点符号与下文一起换行;
4)方法调用中的多个参数需要换行时,在逗号后进行;
5)在括号前不要换行,见反例。


9【强制】在定义和传入方法参数时,多个参数逗号后面必须加空格。

10【强制】IDE的text file encoding设置为UTF-8; IDE中文件的换行符使用UNIX格式,不要使用Windows格式。
11【推荐】单个方法的总行数不超过80。
说明:除注释外的方法签名、左右大括号、方法内代码、空行、回车及任何不可见字符的总行数不超过80。
正例:代码逻辑分清红花和绿叶、个性和共性,绿叶逻辑单独出来成为额外方法,使主干代码更加清晰;共性逻辑抽取成为共性方法,便于复用和维护。
12【推荐】没有必要增加若干空格使变量的赋值等号与上一行对应位置的等号对齐。

说明:增加four这个变量,如果需要对齐,则要给one、two、three增加几个空格,在变量比较多的情况下,是一件累赘的事情。
13【推荐】在不同逻辑、不同语义、不同业务的代码之间插入一个空行,分隔开来以提升可读性。
说明:在任何情形下,都没有必要插入多个空行进行分隔。