Sprawdź użycie supressionCommentFilter na http://checkstyle.sourceforge.net/config_filters.html#SuppressionCommentFilter . Musisz dodać moduł do pliku checkstyle.xml
<module name="SuppressionCommentFilter"/>
i jest konfigurowalny. W ten sposób możesz dodawać komentarze do kodu, aby wyłączyć styl sprawdzania (na różnych poziomach), a następnie ponownie włączyć, używając komentarzy w kodzie. Na przykład
//CHECKSTYLE:OFF
public void someMethod(String arg1, String arg2, String arg3, String arg4) {
//CHECKSTYLE:ON
Lub jeszcze lepiej, użyj tej bardziej ulepszonej wersji:
<module name="SuppressionCommentFilter">
<property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|]+)"/>
<property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|]+)"/>
<property name="checkFormat" value="$1"/>
</module>
co pozwala wyłączyć określone kontrole dla określonych wierszy kodu:
//CHECKSTYLE.OFF: IllegalCatch - Much more readable than catching 7 exceptions
catch (Exception e)
//CHECKSTYLE.ON: IllegalCatch
* Uwaga: musisz również dodać FileContentsHolder
:
<module name="FileContentsHolder"/>
Zobacz też
<module name="SuppressionFilter">
<property name="file" value="docs/suppressions.xml"/>
</module>
w SuppressionFilter
sekcji na tej samej stronie, która pozwala wyłączyć indywidualne sprawdzanie zasobów dopasowanych do wzorca.
Więc jeśli masz w pliku checkstyle.xml:
<module name="ParameterNumber">
<property name="id" value="maxParameterNumber"/>
<property name="max" value="3"/>
<property name="tokens" value="METHOD_DEF"/>
</module>
Możesz go wyłączyć w swoim pliku XML eliminacji za pomocą:
<suppress id="maxParameterNumber" files="YourCode.java"/>
Inną metodą, obecnie dostępną w Checkstyle 5.7, jest tłumienie naruszeń za pomocą @SuppressWarnings
adnotacji Java. Aby to zrobić, musisz dodać dwa nowe moduły ( SuppressWarningsFilter
i SuppressWarningsHolder
) do pliku konfiguracyjnego:
<module name="Checker">
...
<module name="SuppressWarningsFilter" />
<module name="TreeWalker">
...
<module name="SuppressWarningsHolder" />
</module>
</module>
Następnie w kodzie możesz wykonać następujące czynności:
@SuppressWarnings("checkstyle:methodlength")
public void someLongMethod() throws Exception {
lub w przypadku wielokrotnego tłumienia:
@SuppressWarnings({"checkstyle:executablestatementcount", "checkstyle:methodlength"})
public void someLongMethod() throws Exception {
NB:checkstyle:
Prefiks „ ” jest opcjonalny (ale zalecany). Według dokumentacji nazwa parametru musi być pisana małymi literami, ale praktyka wskazuje, że każdy przypadek działa.