【发布时间】:2016-05-03 13:18:51
【问题描述】:
使用 CodeModel,有没有办法控制修饰符的顺序? 特别是在创建字段时。
CodeModel 似乎有自己的修饰符顺序定义,不同于 Java 语言规范和 SonarQube 和 CheckStyle 等产品:
https://sonar43.spring.io/rules/show/squid:ModifiersOrderCheck?layout=false http://checkstyle.sourceforge.net/config_modifier.html
修饰符应按以下顺序出现:
- 注释
- 公开
- 受保护
- 私人
- 摘要
- 静态
- 最终
- 瞬态
- 易变
- 同步
- 原生
- strictfp
此示例代码:
// Create field for serialVersionUID
JFieldVar field1 = newClass.field(JMod.PRIVATE | JMod.STATIC | JMod.FINAL, long.class, "serialVersionUID");
field1.init(JExpr.lit(1L));
产生以下不遵循建议顺序的修饰符:
private final static long serialVersionUID = 1L;
【问题讨论】: