2016-05-15 70 views
1

我有一種Checkstyle在ParenPad規則檢查中產生誤報的情況。我也看到這個SO文章Checkstyle: Usage of ParenPad Check和這個問題是無關的。Checkstyle ParenPad檢查

考慮下面的代碼段:

public class Foo 

    public static final void main(  String... args) { ... } 

} 

當ParenPad被配置像這樣:

<module name="ParenPad"> 
    <property name="option" value="space" /> 
</module> 

該結果將顯示爲有效的,因爲有在開口(空間main方法。

我在ParenPad檢查課上閒逛,我沒有看到任何其他規則/配置可用於在括號之前和/或之後強制執行單個空間。是否有內置的內容可以讓我執行此要求,還是需要創建自定義檢查?從我所知道的情況來看,當前的實現檢查是否存在任何數量的空格,無論是製表符分隔還是其他。

回答

0

查看checkstyle代碼,我目前看到的唯一方法是添加另一個檢查。 必須首先定義ParenPad然後加兩個RegexpSingleline小號

<module name="RegexpSingleline"> 
    <property name="format" value="(\s{2,}$"/> 
    <property name="message" value="Too many spaces after ("/> 
</module> 
<module name="RegexpSingleline"> 
    <property name="format" value="\s{2,})$"/> 
    <property name="message" value="Too many spaces before)"/> 
</module> 

誠然,它可以在其他情況下打破(例如具有()字符串),但你可以擴展它來覆蓋大多數你案例。

相關問題