2015-08-31 3 views
3

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

Я вижу, что http://checkstyle.sourceforge.net/config_javadoc.html#JavadocMethod четко заявляет, что он «проверяет Javadoc метода или конструктора», однако мне нужно исключить конструкторы и оставить только методы.

ответ

9

Для того, чтобы игнорировать конструктор, удалить CTOR_DEF маркер из tokens собственности, например:

<module name="JavadocMethod"> 
    <property name="tokens" value="METHOD_DEF,ANNOTATION_FIELD_DEF"/> 
</module> 

Это достигается путем установки tokens ко всем другим, кроме разрешенных маркеров CTOR_DEF. К сожалению, для этого вам нужно знать, какие маркеры установить, и этот список зависит от версии Checkstyle и не всегда точно отражается в docs. Этот вышеприведенный пример должен обеспечить разумную настройку.

+0

Значения по умолчанию для JavadocMethod включают 'CTOR_DEF',' METHOD_DEF' и 'ANNOTATION_FIELD_DEF'. Из этих 3, 'CTOR_DEF' отвечает за конструкторы, поэтому вы должны удалить только это и поместить два других. 'METHOD_DEF' и' ANNOTATION_FIELD_DEF' вместо 'METHOD_DEF'. – MuchMore

+0

@MuchMore Вы правы, ответьте на обновления. Благодаря! В моей защите дополнительный токен не был в списке, когда я написал оригинальный ответ. ;-) –

+0

@ThomasJensen Для этого я должен был использовать «target» как имя свойства вместо «токенов», как вы упомянули. – Rlarroque

2

Игнорировать Javadocs только на конструкторах с пользовательским классом ...

<module name="org.example.MyJavadocMethodCheck"> 
... 
</module> 

, который выглядит следующим образом:

@SuppressWarnings("unused") 
public class MyJavadocMethodCheck extends com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck { 

    @Override 
    public int[] getAcceptableTokens() { 
     return Arrays.stream(super.getAcceptableTokens()) 
      .filter(t -> t != TokenTypes.CTOR_DEF) // Don't enforce javadoc comments on constructors 
      .toArray(); 
    } 
} 

Я уверен, что я нашел это на StackOverflow, но не могу найти точная ссылка больше.

+0

Это в основном правильно, но слишком сложно. Для проверки этого свойства проверка имеет свойство 'tokens'. Нет необходимости в специальной проверке. –

+0

Количество кода с пользовательским классом действительно больше. Единственное преимущество здесь в том, что мне не нужно знать «все другие допустимые» значения при использовании «токенов» (METHOD_DEF, ANNOTATION_FIELD_DEF ...), а скорее исключать только те (-ы), которые меня интересуют (CTOR_DEF) , – Alex

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