Checkstyle 不喜欢常量的商表达式
Checkstyle doesn't like quotient expression for constant
private static final int DEFAULT_SIZE_IN_BYTES = 256 * 1024;
private static final double SPECIAL_RATIO = 4.0 / 3.0;
我们的 Checkstyle 很好,第一个常量由乘积表达式建立,但它抱怨第二个常量的商表达式中的两个文字本身都是幻数。有没有办法告诉 Checkstyle 接受一个有效的文字商?
根据MagicNumberCheck.java#L109,数字文字和封闭常量定义之间允许使用以下标记,不被视为幻数:
- 分配 (
=
),
- ARRAY_INIT(数组初始化器),
- EXPR(任何表达式),
- UNARY_PLUS (
+
),
- UNARY_MINUS (
-
),
- TYPECAST(强制转换运算符),
- ELIST(表达式列表),
- LITERAL_NEW (
new
),
- METHOD_CALL(方法调用),
- 星级 (
*
)
如您所见,列表中没有 DIV (/
) 标记,不幸的是,此列表不可配置。
我已经打开 the issue and pull request 以在下一版本的 Checkstyle 中修复它。
编辑:
拉取请求已合并,此功能将在 Checkstyle 6.7 中发布。
private static final int DEFAULT_SIZE_IN_BYTES = 256 * 1024;
private static final double SPECIAL_RATIO = 4.0 / 3.0;
我们的 Checkstyle 很好,第一个常量由乘积表达式建立,但它抱怨第二个常量的商表达式中的两个文字本身都是幻数。有没有办法告诉 Checkstyle 接受一个有效的文字商?
根据MagicNumberCheck.java#L109,数字文字和封闭常量定义之间允许使用以下标记,不被视为幻数:
- 分配 (
=
), - ARRAY_INIT(数组初始化器),
- EXPR(任何表达式),
- UNARY_PLUS (
+
), - UNARY_MINUS (
-
), - TYPECAST(强制转换运算符),
- ELIST(表达式列表),
- LITERAL_NEW (
new
), - METHOD_CALL(方法调用),
- 星级 (
*
)
如您所见,列表中没有 DIV (/
) 标记,不幸的是,此列表不可配置。
我已经打开 the issue and pull request 以在下一版本的 Checkstyle 中修复它。
编辑:
拉取请求已合并,此功能将在 Checkstyle 6.7 中发布。