Checkstyle жалуется на значения перечисления, не имеющие прикрепленного комментария javadoc. Но, по крайней мере, во многих из моих перечислений, поскольку сами ценности часто не требуют пояснений, добавление javadoc просто уменьшает удобочитаемость с ненужным беспорядком. Рассмотрим следующие примеры:Как отключить предупреждение javadoc checkstyle для констант/значений enum?
/**
* Example enum to illustrate the problem. Each value of this
* enum represents a day of the week.
*/
public enum DaysOfWeekClean {
SUNDAY,
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY;
}
/**
* Example enum to illustrate the problem. Each value of this
* enum represents a day of the week, with comments added to each
* distinct value to make the point.
*/
public enum DaysOfWeekCluttered {
/**
* The day of the week named "Sunday".
*/
SUNDAY,
/**
* The day of the week named "Monday".
*/
MONDAY,
/**
* The day of the week named "Tuesday".
*/
TUESDAY,
/**
* The day of the week named "Wednesday".
*/
WEDNESDAY,
/**
* The day of the week named "Thursday".
*/
THURSDAY,
/**
* The day of the week named "Friday".
*/
FRIDAY,
/**
* The day of the week named "Saturday".
*/
SATURDAY;
}
Если модуль JavadocVariable
добавляется в мои чеки, первый пример (DaysOfWeekClean
) будет помечено, в то время как второй пример (DaysOfWeekDirty
) будет проходить.
И это оставляет меня в дилемме. Я хочу, чтобы checkstyle помещал нормальные члены класса/переменные, которые не комментируются, но оставлять константы перечисления в отдельности. После довольно небольшого поиска в документации Checkstyle (и самого исходного кода Checkstyle) и нескольких вопросов StackOverflow я не могу понять, как это установить.
Я могу предупредить, когда javadoc отсутствует в как константы перечисления, так и члены класса/переменные, или я могу игнорировать оба варианта, но я не могу проверить один, а не другой.
Для справки, вот некоторые Checkstyle конфигурации, которые я пытался, и их результаты:
Простая декларация, которая предупреждает, когда оба члена класса или перечисления константа не имеет Javadoc:
<module name="JavadocVariable" />
Декларация, которая предупреждает, что когда член класса или константа перечисления не имеет javadoc:
<module name="JavadocVariable"> <property name="tokens" value="VARIABLE_DEF" /> </module>
декларация, которая не может предупредить, когда либо член класса или перечисления константа не имеет Javadoc:
<module name="JavadocVariable"> <property name="tokens" value="ENUM_CONSTANT_DEF" /> </module>
См. Http://stackoverflow.com/questions/4023185/how-to-disable-a-particular-checkstyle-rule-for-a-particular-line-of-code, с // CHECKSTYLE: OFF comment then вы сможете легко отключить обработку checkstyle для определенного раздела кода. – RealHowTo