Как отключить конкретное правило контрольного стиля для определенной строки кода? - PullRequest
5 голосов
/ 20 июня 2011

Да, я видел этот вопрос:

Как отключить определенное правило контрольного стиля для определенной строки кода?

Но я не могу комментировать, и я хотел спросить, возможно ли сделать то, что спросил ОП:

Как отключить одно определенное правило для строки кода

Я также видел это: Есть ли способ заставить Checkstyle игнорировать конкретное предупреждение в исходном коде?

Полагаю, ответом на мой вопрос является использование SuppressWithNearbyCommentFilter

Я просто не понимаю, как должны выглядеть мои комментарии в java.

Скажите, у меня есть следующий код:

public class MyDataContainer {
  /** the name */
  public String name;
}

и я хочу избавиться от предупреждения «Модификатор видимости» и только этого предупреждения.

Что мне нужно включить (используя плагин eclipse--cs.sf.net)?

А как должны выглядеть мои комментарии?

Мне удалось включить фильтр комментариев Suppresion и окружить весь мой класс

//CHECKSTYLE:OFF
//CHECKSTYLE:ON

но мне не очень нравится это решение.

1 Ответ

11 голосов
/ 23 октября 2012

Это немного поздно, для дальнейшего использования:

вы можете использовать SuppressWithNearbyCommentFilter следующим образом:

<module name="SuppressWithNearbyCommentFilter">
   <property name="commentFormat" value="CHECKSTYLE DISABLE ([\w\|]+) FOR (-?\d+) LINES"/>
   <property name="checkFormat" value="$1"/>
   <property name="influenceFormat" value="$2"/>
</module>

В строке, где вы хотите отключить предупреждение, вы можете написать:

// CHECKSTYLE DISABLE <WarningName> FOR <# of lines> LINES

например

// CHECKSTYLE DISABLE MagicNumber FOR 2 LINES

Число также может быть отрицательным (если предупреждение содержится в каком-то автоматически сгенерированном коде, к которому вы не можете прикоснуться).

...