Checkstyle

Cet article est une ébauche concernant un logiciel.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article ne s'appuie pas, ou pas assez, sur des sources secondaires ou tertiaires ().

Pour améliorer la vérifiabilité de l'article ainsi que son intérêt encyclopédique, il est nécessaire, quand des sources primaires sont citées, de les associer à des analyses faites par des sources secondaires.

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article manque de repères chronologiques ou de dates ().

Vous pouvez ajouter les données manquantes avec leurs sources.

Checkstyle est un outil de contrôle de code, utilisé en développement de logiciel. Il permet de vérifier le style d'un code source écrit en langage Java.

Intérêt et limites

Checkstyle peut être utilisé dans les projets de développement informatiques afin d'assurer un niveau bien défini de qualité de code source. En effet, programmer ne se résume pas à écrire un code source qui puisse être compilé et donc correct vis-à-vis du langage. Encore faut-il que le code source soit lisible et convenablement commenté. Cela permet notamment à un autre développeur de modifier le code existant, ou au même développeur de s'y retrouver lorsqu'il reprend son propre code longtemps après.

De même, s'il respecte un certain nombre de conventions et de bonnes pratiques, le code produit par divers développeurs s'assemble de façon plus cohérente.

Les vérifications de Checkstyle portent essentiellement sur la forme et ne permettent en rien de dire qu'un programme est correct ou complet.

En pratique, il est très fastidieux de respecter l'ensemble de toutes les contraintes de style que l'on peut imposer au travers de checkstyle.[réf. souhaitée] Ces contraintes peuvent par ailleurs nuire à la dynamique des étapes de programmation. Il s'agit donc de déterminer, selon le type du développement et la qualité que l'on attend, quel doit être le niveau de vérification.

Exemples de modules disponibles

Checkstyle définit un ensemble de modules contenant des règles que l'on peut configurer de façon plus ou moins stricte. Chaque règle peut se traduire, selon le cas, par une notification, un avertissement ou par une erreur.

Checkstyle permet, par exemple, de vérifier :

  • la présence de commentaires Javadoc pour les classes, les attributs et les méthodes
  • les conventions de nommage des attributs et des méthodes
  • une limitation du nombre de paramètres de méthodes, la longueur des lignes, etc.
  • la présence d'en-têtes obligatoires
  • l'utilisation des importations de paquets, de classes, des modificateurs de portée et des blocs d'instructions
  • l'espacement entre certains caractères
  • les bonnes pratiques d'écriture de classe
  • les sections de code dupliqué
  • diverses mesures de complexité, notamment des expressions

Utilisation

Checkstyle se présente sous la forme d'une archive Jar qui peut être exécutée :

  • directement sur une machine virtuelle Java,
  • via une tâche ANT,
  • via un plugin maven.

Checkstyle peut également être intégré à des environnements de développement intégrés et d'autres outils comme NetBeans, Eclipse, jEdit, etc.

Un plugin Checkstyle permet, par exemple,

  • de surcharger la coloration syntaxique ou les décorations dans l'éditeur de code
  • de décorer l'explorateur de projets au niveau des ressources posant problème
  • de rajouter des entrées dans les vues d'erreurs et d'avertissement.

Le développeur peut ainsi accéder directement aux parties de code qui ne respectent pas le style choisi.

Voir aussi

  • PMD
  • FindBugs
  • SonarQube
  • Squale

Liens externes

  • site de Checkstyle
  • icône décorative Portail du logiciel
  • icône décorative Portail de la programmation informatique