2011-06-20 4 views
5

Oui, je vis cette question:Comment désactiver une règle de style de contrôle particulière pour une ligne de code particulière?

How to disable a particular checkstyle rule for a particular line of code?

Mais je ne peux pas commenter et je voulais demander s'il est possible de faire ce que l'OP a demandé:

Comment désactiver un particulier la règle pour une ligne de code

J'ai vu aussi ceci: Is there a way to force Checkstyle to ignore particular warning in the source code?

Je suppose que la réponse à ma question est d'utiliser SuppressWithNearbyCommentFilter

Je ne comprends pas à quoi devraient ressembler mes commentaires dans java.

Dire que j'ai le code suivant:

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

et je veux me débarrasser de l'avertissement et « Modificateur de visibilité » seulement cet avertissement.

Que dois-je activer (en utilisant le plugin eclipse--cs.sf.net)?

Et comment dois-je regarder mes commentaires?

Je réussi à activer Suppresion Commentaire filtre et entourer ma classe entière avec

//CHECKSTYLE:OFF 
//CHECKSTYLE:ON 

mais je ne aime pas vraiment cette solution.

+1

Etes-vous sûr que c'est si important? Je veux dire que j'ai eu un tas d'avertissements dans tous mes projets dans Eclipse même pour la sortie. Si vous savez ce que vous faites, pourquoi vous soucieriez-vous d'un signe jaune dans la marge dans Eclipse? – Snicolas

+0

pourquoi ne supprimez-vous pas cette vérification de checkstyle xml? – abalogh

+8

@Snicolas C'est très important. C'est une chose d'avoir une meilleure qualité de code. Dans nos projets, les conventions de code contiennent le paramètre Avertissements/Erreur dans Eclipse et l'ensemble du projet est sans avertissement. Quand vous ne vous souciez pas de ces avertissements alors vous obtiendrez des projets avec des milliers de choses en très peu de temps et personne ne se soucie d'ajouter 10 autres avertissements ... –

Répondre

11

Il est un peu en retard, pour référence future:

vous pouvez utiliser la SuppressWithNearbyCommentFilter cette façon:

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

Sur la ligne où vous souhaitez désactiver l'avertissement que vous pouvez écrire:

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

par exemple

// CHECKSTYLE DISABLE MagicNumber FOR 2 LINES 

Le numéro peut également être négatif (si l'avertissement est dans un code généré automatiquement que vous ne pouvez pas toucher).

Questions connexes