← 返回目录

(三) 代码格式

第 3 / 27 卷作者:guanbao yang日期:

类 B 中:public static final String YES = "y";

A.YES.equals(B.YES),预期是 true,但实际返回为 false,导致线上问题。

3)子工程内部共享常量:即在当前子工程的 constant 目录下。

4)包内共享常量:即在当前包下单独的 constant 目录下。

5)类内共享常量:直接在类内部 private static final 定义。

6.【推荐】如果变量值仅在一个固定范围内变化用enum类型来定义。

说明:如果存在名称之外的延伸属性应使用 enum 类型,下面正例中的数字就是延伸信息,表示一年中的第几个季节。

正例:

public enum SeasonEnum { SPRING(1), SUMMER(2), AUTUMN(3), WINTER(4);

private int seq;

SeasonEnum(int seq) { this.seq = seq;

} public int getSeq() {

return seq;

} }

(三) 代码格式

1.【强制】如果大括号内为空,简洁地写成{}即可,大括号中间无需换行和空格;如果是非空代码块,则:

1)左大括号前不换行。

2)左大括号后换行。

3)右大括号前换行。

4)右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行。

2.【强制】左小括号和右边相邻字符之间不需要空格;右小括号和左边相邻字符之间也不需要空格;而左大括号前需要加空格。详见第 5 条下方正例提示。

反例:if(空格 a == b 空格)

3.【强制】if / for / while / switch / do等保留字与左右括号之间都必须加空格。

4.【强制】任何二目、三目运算符的左右两边都需要加一个空格。

说明:包括赋值运算符 =、逻辑运算符 &&、加减乘除符号等。

5.【强制】采用4 个空格缩进,禁止使用Tab 字符。

说明:如使用 Tab 缩进,必须设置 1 个 Tab 为 4 个空格。IDEA 设置 Tab 为 4 个空格时,请勿勾选 Use tab character;

而在 Eclipse 中,找到 tab policy 设置为 Spaces only,Tab size:4,最后必须勾选 insert spaces for tabs 正例:(涉及上述中的 1-5 点)

public static void main(String[] args) { // 缩进 4 个空格

String say = "hello";

// 运算符的左右必须有一个空格 int flag = 0;

if (flag == 1) { System.out.println("world");

// 右大括号前换行,右大括号后有 else,不用换行 } else {

System.out.println("ok");

// 在右大括号后直接结束,则必须换行 }

}

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

正例:

// 这是示例注释,请注意在双斜线之后有一个空格 String commentString = new String("demo");

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

正例:

double first = 3.2D;

int second = (int)first + 2;

8.【强制】单行字符数限制不超过 120 个,超出需要换行,换行时遵循如下原则:

1)第二行相对第一行缩进 4 个空格,从第三行开始,不再继续缩进,参考示例。

2)运算符与下文一起换行。

3)方法调用的点符号与下文一起换行。

4)方法调用中的多个参数需要换行时,在逗号后进行。

5)在括号前不要换行,见反例。

正例:

StringBuilder builder = new StringBuilder();

// 超过 120 个字符的情况下,换行缩进 4 个空格,并且方法前的点号一起换行 builder.append("yang").append("hao")...

.append("chen")...

.append("chen")...

.append("chen");

反例:

StringBuilder builder = new StringBuilder();

// 超过 120 个字符的情况下,不要在括号前换行 builder.append("you").append("are")...append

("lucky");

// 参数很多的方法调用可能超过 120 个字符,逗号后才是换行处 method(args1, args2, args3, ...

, argsX);

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

正例:下例中实参的 args1 逗号后边必须要有一个空格。

method(args1, args2, args3);

10.【强制】IDE的 text file encoding设置为 UTF-8;IDE中文件的换行符使用 Unix格式,不要使用 Windows格式。

全站分卷索引 · 27 卷
  1. 1一、编程规约
  2. 2(二) 常量定义
  3. 3(三) 代码格式
  4. 4(四) OOP规约
  5. 5(五) 日期时间
  6. 6(六) 集合处理
  7. 7(七) 并发处理
  8. 8(八) 控制语句
  9. 9(九) 注释规约
  10. 10(十) 前后端规约
  11. 11(十一) 其他
  12. 12二、异常日志
  13. 13(二) 异常处理
  14. 14(三) 日志规约
  15. 15三、单元测试
  16. 16四、安全规约
  17. 17五、MySQL数据库
  18. 18(二) 索引规约
  19. 19(三) SQL语句
  20. 20(四) ORM映射
  21. 21六、工程结构
  22. 22(二) 二方库依赖
  23. 23(三) 服务器
  24. 24七、设计规约
  25. 25附1:版本历史
  26. 26附2:专有名词解释
  27. 27附3:错误码列表