Découvrez l'utilisation de supressionCommentFilter sur http://checkstyle.sourceforge.net/config_filters.html#SuppressionCommentFilter . Vous devrez ajouter le module à votre checkstyle.xml
<module name="SuppressionCommentFilter"/>
et c'est configurable. Ainsi, vous pouvez ajouter des commentaires à votre code pour désactiver le checkstyle (à différents niveaux) puis le réactiver en utilisant des commentaires dans votre code. Par exemple
//CHECKSTYLE:OFF
public void someMethod(String arg1, String arg2, String arg3, String arg4) {
//CHECKSTYLE:ON
Ou encore mieux, utilisez cette version plus peaufinée:
<module name="SuppressionCommentFilter">
<property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|]+)"/>
<property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|]+)"/>
<property name="checkFormat" value="$1"/>
</module>
qui vous permet de désactiver des vérifications spécifiques pour des lignes de code spécifiques:
//CHECKSTYLE.OFF: IllegalCatch - Much more readable than catching 7 exceptions
catch (Exception e)
//CHECKSTYLE.ON: IllegalCatch
* Remarque: vous devrez également ajouter FileContentsHolder
:
<module name="FileContentsHolder"/>
Voir également
<module name="SuppressionFilter">
<property name="file" value="docs/suppressions.xml"/>
</module>
sous la SuppressionFilter
section de cette même page, qui vous permet de désactiver les vérifications individuelles des ressources correspondant au modèle.
Donc, si vous avez dans votre checkstyle.xml:
<module name="ParameterNumber">
<property name="id" value="maxParameterNumber"/>
<property name="max" value="3"/>
<property name="tokens" value="METHOD_DEF"/>
</module>
Vous pouvez le désactiver dans votre fichier xml de suppression avec:
<suppress id="maxParameterNumber" files="YourCode.java"/>
Une autre méthode, désormais disponible dans Checkstyle 5.7, consiste à supprimer les violations via l' @SuppressWarnings
annotation java. Pour ce faire, vous devrez ajouter deux nouveaux modules ( SuppressWarningsFilter
et SuppressWarningsHolder
) dans votre fichier de configuration:
<module name="Checker">
...
<module name="SuppressWarningsFilter" />
<module name="TreeWalker">
...
<module name="SuppressWarningsHolder" />
</module>
</module>
Ensuite, dans votre code, vous pouvez effectuer les opérations suivantes:
@SuppressWarnings("checkstyle:methodlength")
public void someLongMethod() throws Exception {
ou, pour plusieurs suppressions:
@SuppressWarnings({"checkstyle:executablestatementcount", "checkstyle:methodlength"})
public void someLongMethod() throws Exception {
NB: Le checkstyle:
préfixe " " est facultatif (mais recommandé). Selon la documentation, le nom du paramètre doit être en minuscules, mais la pratique indique que tous les cas fonctionnent.