Проверьте использование supressionCommentFilter на http://checkstyle.sourceforge.net/config_filters.html#SuppressionCommentFilter. Вам нужно будет добавить модуль в свой checkstyle.xml
<module name="SuppressionCommentFilter"/>
и это настраивается. Таким образом, вы можете добавить комментарии к своему коду, чтобы отключить контрольный стиль (на разных уровнях), а затем снова включить его, используя комментарии в вашем коде. Э.Г.
//CHECKSTYLE:OFF
public void someMethod(String arg1, String arg2, String arg3, String arg4) {
//CHECKSTYLE:ON
Или даже лучше, используйте эту более подправленную версию:
<module name="SuppressionCommentFilter">
<property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|]+)"/>
<property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|]+)"/>
<property name="checkFormat" value="$1"/>
</module>
, который позволяет отключить определенные проверки для определенных строк кода:
//CHECKSTYLE.OFF: IllegalCatch - Much more readable than catching 7 exceptions
catch (Exception e)
//CHECKSTYLE.ON: IllegalCatch
* Примечание: вам также нужно добавить FileContentsHolder
:
<module name="FileContentsHolder"/>
Смотри также
<module name="SuppressionFilter">
<property name="file" value="docs/suppressions.xml"/>
</module>
в разделе SuppressionFilter на той же странице, который позволяет отключить отдельные проверки для ресурсов, соответствующих шаблону.
Итак, если у вас есть checkstyle.xml:
<module name="ParameterNumber">
<property name="id" value="maxParameterNumber"/>
<property name="max" value="3"/>
<property name="tokens" value="METHOD_DEF"/>
</module>
Вы можете отключить его в своем XML-файле подавления с помощью:
<suppress id="maxParameterNumber" files="YourCode.java"/>
Другой метод, теперь доступный в Checkstyle 5.7, состоит в подавлении нарушений с помощью аннотации @SuppressWarnings
java. Для этого вам понадобятся новые модули (SuppressWarningsFilter и SuppressWarningsHolder) в вашем файле конфигурации:
<module name="Checker">
...
<module name="SuppressWarningsFilter" />
<module name="TreeWalker">
...
<module name="SuppressWarningsHolder" />
</module>
</module>
Затем в своем коде вы можете сделать следующее:
@SuppressWarnings("checkstyle:methodlength")
public void someLongMethod() throws Exception {
или, для многократных подавлений:
@SuppressWarnings({"checkstyle:executablestatementcount", "checkstyle:methodlength"})
public void someLongMethod() throws Exception {
Примечание: Префикс "checkstyle:
" является необязательным (но рекомендуется). Согласно документам имя параметра должно быть написано строчными буквами, но практика показывает, что любой случай работает.