2013-06-21 94 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> 
相關問題