2010-08-25 3 views
15

J'utilise le plugin CheckStyle pour Eclipse.Comment supprimer les avertissements dans CheckStyle?

C'est génial de trouver des choses que je n'avais pas l'intention de 99% du temps, mais le 1% du temps j'ai effectivement l'intention de violer sciemment une règle, je voudrais faire savoir à CheckStyle qu'il ne doit pas se préoccuper de signaler un avertissement.

Exemple: la règle de commentaire Missing a Javadoc. La plupart du temps, je veux que Javadoc commente mes méthodes. Cependant, une méthode telle que:

public boolean isValid() { 
    return valid; 
} 

peut probablement s'en passer.

Y a-t-il quelque chose comme l'annotation @SuppressWarnings qui peut être utilisée pour signaler qu'une violation de règle CheckStyle spécifique est acceptable? Une sorte de commentaire spécialement formaté, peut-être? Je ne veux pas désactiver la règle, je veux juste ignorer une violation spécifique.

(Je réalise dans ce cas que je pourrais juste écrire le commentaire Javadoc, mais dans d'autres cas, la résolution de la violation de la règle n'est pas si simple).

+3

Voir http://stackoverflow.com/questions/1704430/-there-a-way-to-force-checkstyle-to-ignore-particular-warning-in-the-source-cod –

+2

Voir http://stackoverflow.com/questions/4023185/how-to-disable-a-particular-checkstyle-rule-for-a-particular-line-of-code que je pense est en fait plus utile que la réponse acceptée est plus claire et plus approfondie – chrisbunney

Répondre

2

Cela semble assez fastidieux mais il faut une configuration XML explicite pour l'ignorer. Vous pouvez probablement trouver une interface graphique pour le faire en utilisant le plugin Checkstyle pour Eclipse ou Netbeans. L'exemple que j'ai trouvé se trouve sur la page Checkstyle configuration.

<?xml version="1.0"?> 

<!DOCTYPE suppressions PUBLIC 
    "-//Puppy Crawl//DTD Suppressions 1.1//EN" 
    "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd"> 

<suppressions> 
    <suppress checks="JavadocStyleCheck" 
       files="AbstractComplexityCheck.java" 
       lines="82,108-122"/> 
    <suppress checks="MagicNumberCheck" 
       files="JavadocStyleCheck.java" 
       lines="221"/> 
</suppressions> 
+10

Je déconseille d'utiliser cette méthode, car les modifications ultérieures dans les classes référencées changeraient les numéros de ligne, causant un cauchemar de maintenance. Mieux vaut changer les paramètres pour les avertissements que nous voulons attraper ou pas globalement, ou utiliser les commentaires CHECKSTYLE: OFF/CHECKSTYLE: ON. – stivlo

2

La synthèse a pointé vers la page de configuration de Checkstyle. En l'écrémant, j'ai trouvé SuppressWithNearbyCommentFilter qui semble prometteur, à moins que j'aie mal compris son but ...

5

PhiLho est juste - SuppressWithNearbyCommentFilter ou SuppressionCommentFilter peut aider. J'ai SuppressionCommentFilter configuré et en ajoutant les commentaires "CHECKSTYLE: OFF" et "CHECKSTYLE: ON" va désactiver le style de vérification temporairement.

+0

Pouvez-vous ajouter un exemple d'utilisation de ces commentaires? Est-ce qu'ils vont juste à l'intérieur des commentaires simples sur une seule ligne, peuvent-ils fonctionner en utilisant des commentaires multilignes, ou qu'en est-il du mélange et de l'appariement du type de commentaire pour les commentaires OFF et ON? – chrisbunney

+2

Ah, passons, j'ai trouvé cette réponse: http://stackoverflow.com/a/4023351/110255 – chrisbunney

Questions connexes