2013-06-21 52 views

回答

1

有中设置的命名约定没有相应的规则。

<module name="Regexp"> 
    <property name="format" value="\benum\s+\S\S(?&lt;!E[A-Z])[a-zA-Z0-9]+"/> 
    <property name="message" 
     value="Enums must start with a capital 'E', e.g. EMyEnum"/> 
    <property name="illegalPattern" value="true"/> 
    <property name="ignoreComments" value="true"/> 
</module> 

这忽略了比赛的评论(当枚举声明被注释掉等),并且如果存在之间的换行符作品:但是你可以使用RegExp检查(正则表达式的explanation)达到预期效果enum关键字和标识符。由于enum是Java中的关键字,因此不应该有太多的误报。

+0

很有前途,我会检查出来。 –

+0

好的!让我知道它是否有效。 –

0

现在可以用OP提到的TypeName rule使用ENUM_DEF令牌。

像这样的东西应该工作(根据规则的例子,没有测试):

<module name="TypeName"> 
    <property name="format" value="^E[A-Z][a-zA-Z0-9]+$"/> 
    <property name="tokens" value="ENUM_DEF"/> 
</module> 
相关问题