2010-08-16 21 views
1

Dans un exemple de code contenant beaucoup d'accesseurs, les notations checkstyle suivantes sont remplies:Solution pour la verbosité Checkstyle?

/* CHECKSTYLE:OFF */ 
public void setDisplayName(final String displayName) { 
    this.displayName = displayName; 
} 
/* CHECKSTYLE:ON */ 

/* CHECKSTYLE:OFF */ 
public String getDisplayName() { 
    return displayName; 
} 
/* CHECKSTYLE:ON */ 

Je trouve que cette brouille le code, ce qui rend plus difficile à lire.

Existe-t-il un moyen plus simple d'ajouter ces notations afin qu'elles ne se trouvent pas au début et à la fin de chaque définition de méthode comme dans cet exemple?

Répondre

1

La notation à laquelle vous faites référence est appelée SuppressionCommentFilter qui utilise des paires de commentaires pour supprimer les événements d'audit. Au lieu d'avoir ces répressions dans le code que vous pouvez les maintenir dans un fichier séparé comme cela est expliqué dans ce lien: SuppressionFilter

Cependant, il y a des raisons de le maintenir dans le code, en fonction de votre situation:

Lorsque cela est une question de code dans question et non de préférence personnelle, le meilleur endroit pour remplacer la politique est dans le code lui-même. Des commentaires semi-structurés peuvent être associés à la vérification . Ceci est parfois supérieur à un fichier de suppressions séparé , qui doit être mis à jour à car le fichier source est modifié.

2

Avez-vous essayé de mettre à jour votre Javadoc method Checkstyle configuration pour ne pas exiger javadoc sur accesseurs en utilisant la propriété allowMissingPropertyJavadoc? Selon si vous voulez simplement filtrer le getter et le setter javadoc ou quelque chose de plus compliqué, cela peut être une solution meilleure et plus propre.

+0

Un autre commentaire secondaire. Avec une partie du code sur lequel je travaille, certains setters et getters ont des effets secondaires en dehors des setters standards et des getters, donc vous pouvez toujours vouloir vous assurer qu'ils sont documentés. – deterb