Eclipse Checkstyle
A l'instar du formatage, il est possible de mettre en place des règles sur le code écrit, permettant ainsi de contrôler l'intégralité du code. Ceci est à réaliser avant un packaging sous Maven par exemple.
Les règles utilisées se trouve à l'adresse suivante: checkstyle.xml
Sommaire
Votre avis
Nobody voted on this yet
|
|
Installation
La vérification du formattage depuis des règles Checkstye nécessite l'utilisation du plugin Eclipse-CS
disponible à l'adddresse http://eclipse-cs.sourceforge.net/downloads.html, ou depuis l'outil de gestion des plugins de Eclipse.
Paramétrage
Mise en place
La procédure d'installation du fichier de formattage est assez simple. Ceci s'effectue depuis les préférences de l'espace de travail en y accédant da la section Checkstyle.
Il faut créer une nouvelle configuration en cliquant sur le menu <New ...>
Dans le cadre de cet article, l'installation s'effectue à partir d'un fichier XML distant:
Cette nouvelle configuration est ensuite installée comme celle par défaut en cliquant sur le bouton <Set as Default>
Anomalie
Dans le cadre de l'utilisation d'une "ancienne" configuration, l'erreur suivante peut être affichée.
Errors occurred during the build. Errors running builder 'Checkstyle Builder' on project 'XXX'. cannot initialize module TreeWalker - Unable to instantiate DoubleCheckedLocking cannot initialize module TreeWalker - Unable to instantiate DoubleCheckedLocking cannot initialize module TreeWalker - Unable to instantiate DoubleCheckedLocking cannot initialize module TreeWalker - Unable to instantiate DoubleCheckedLocking
La résolution de l'anomalie a été trouvée sur le forum stackoverflow. Il se trouve que la vérification DoubleCheckedLocking
a été supprimée de l'outil et il faut désactiver la règle en mettant en commentaire la règle dans la configuration XML.
<module name="RightCurly" />
<!-- <module name="DoubleCheckedLocking" /> -->
<module name="EmptyStatement" />
Checkstyle Google Code
La configuration Google de Checkstyle est très populaire et courament utilisée. Elle permet d'uniformiser un grand nombre de projet et est libre de droit. Dans les versions du plugin Checktyle de Eclipse, cette configuration est disponible par défaut.
Cependant, son utilisation et la configuration par défaut de Eclipse peut entraîner des avertissements, comme pourle cas du tri des imports. Le message de warning affiché est le suivant.
Déclaration dimportation pour les '{1}' est dans le mauvais ordre. Devrait être dans le '{0}' groupe, en attendant les importations ne sont pas affectés sur cette ligne.
Dans la configuration, l'ordre des imports impose que les packages java
et javax
soit en dernier, comme expliqué sur le site référence : http://checkstyle.sourceforge.net/reports/google-java-style.html#s3.3.3-import-ordering-and-spacing
Il faut donc configuré l'organisation des imports afin de respecter cet ordre.
A noter, que la première configuration utilise la wildcard *
qui va s'appliquer à tous les packages. Puis sont placés en dernière position les packages java
et javax
. Cette configuration peut être appliquée automatiquement à la [Eclipse formattage code#Actions sur sauvegarde|sauvegarde du code], où manuellement à l'aide du menu Source → Organize import
. Cette action peut être exécutée sur une classe, sur un package ou un répertoire de source.
Concernant l'indentation, la configuration google implique l'utilisation de l'espace et non la tabulation, et une tailel de 2 caractères. Il est donc nécessaire de configurer cette valeur au niveau du profile de format actif. AU niveau des préférence, dans la section Java → Code style → Formatter
, une fois la configuration sélectionner, il faut cliquer sur le bouton Edit
.
Dans la fenêtre de configuration, ce paramètre est disponible au niveau de l'onglet Indentation
dans la zone de saisie Indentation size
. Il suffit de spécifier 2
et de s'assurer que le choix de la liste Tab policy
est bien Spaces only
.