如何在 Checkstyle 中强制枚举常量必须大写?
How can I enforce that enum constants must be uppercase in Checkstyle?
假设我有以下枚举:
enum Colour
{
RED (1),
GREEN (2),
Blue (3); // Invalid
final int colourCode;
Colour(final int code)
{
this.colourCode = code;
}
}
我希望 Checkstyle 强制所有枚举常量只能包含大写字符、数字和下划线。
在这种情况下 Blue
应该抛出一个错误,而其他一切(包括成员 colourCode
)都没有问题。
我看过 the naming section of the documentation 的 MemberName
、ConstantName
和 StaticVariableName
,但 none 似乎适用,您也无法专门针对枚举。
令人惊讶的是,Core Checkstyle 无法开箱即用。您将不得不使用 Sevntu Checkstyle addon, which features the EnumValueNameCheck。我认为默认行为正是您所需要的,因此您可以这样配置它:
<module name="EnumValueName"/>
确保在 运行 之前将 Sevntu Checkstyle 添加到您的 Checkstyle 类路径中。他们的网站上有关于如何在各种情况下执行此操作的描述。
假设我有以下枚举:
enum Colour
{
RED (1),
GREEN (2),
Blue (3); // Invalid
final int colourCode;
Colour(final int code)
{
this.colourCode = code;
}
}
我希望 Checkstyle 强制所有枚举常量只能包含大写字符、数字和下划线。
在这种情况下 Blue
应该抛出一个错误,而其他一切(包括成员 colourCode
)都没有问题。
我看过 the naming section of the documentation 的 MemberName
、ConstantName
和 StaticVariableName
,但 none 似乎适用,您也无法专门针对枚举。
令人惊讶的是,Core Checkstyle 无法开箱即用。您将不得不使用 Sevntu Checkstyle addon, which features the EnumValueNameCheck。我认为默认行为正是您所需要的,因此您可以这样配置它:
<module name="EnumValueName"/>
确保在 运行 之前将 Sevntu Checkstyle 添加到您的 Checkstyle 类路径中。他们的网站上有关于如何在各种情况下执行此操作的描述。