2013-03-04 2 views
5

Я использую checkstyle, чтобы получить отчет о моем исходном коде. Этот вопрос касается MagicNumberCheck.Контрольный стиль Java, MagicNumberCheck

Я использую Date/(org.joda.)DateTime в моем исходном коде, как это:

DateTime dateTime = new DateTime(2013, 2, 27, 23, 0): 
dateTime.plusHours(57); 

Есть ли способ подавить MagicNumberCheck уведомления если магическое число в пределах даты или DateTime?

ответ

14

Вы можете использовать SuppressionCommentFilter Проверьте это.

Настройка значения свойства, как (в файле checkstyle configuration)

<module name="SuppressionCommentFilter"> 
    <property name="offCommentFormat" value="Check\:OFF\: ([\w\|]+)"/> 
    <property name="onCommentFormat" value="Check\:ON\: ([\w\|]+)"/> 
    <property name="checkFormat" value="$1"/> 
</module> 

Теперь для необходимых линий, вы можете сделать, как

//Check:OFF: MagicNumber 
DateTime dateTime = new DateTime(2013, 2, 27, 23, 0): 
dateTime.plusHours(57); 
//Check:ON: MagicNumber 

Это будет только подавлять MagicNumber checks, проверяет остальные будут работать Вот.

Вы можете подавить Несколько checcks тоже, как

//Check:OFF: MagicNumber|Indentation 
Code Here 
//Check:ON: MagicNumber|Indentation 

этого будет подавлять только MagicNumber and Indentation Checks. Другие проверки будут работать нормально.

2

Вы можете подавить уведомления Checkstyle используя свой комментарий

//CHECKSTYLE:OFF 

до тех линий и

//CHECKSTYLE:ON 

впоследствии включить его.

Для этого необходимо включить модуль SuppressionCommentFilter.

Конечно, вы также можете создать свой собственный модуль, который сделает именно то, что вы хотите.

+0

Хм, решения, но не решение, которое я имею в виду. Contra: - Я должен делать это каждый раз - это решение подавляет и другие предупреждения. –

Смежные вопросы