Quand il s’agit de qualité de code, l’analyse statique n’est pas
le seul outil que vous pouvez utiliser. Un autre indicateur de la santé
générale de votre projet peut être trouvé avec le nombre de FIXME
, TODO
,
@deprecated
, et autres balises
similaires dispersées dans le code source. S’il y en a beaucoup, cela peut
être un signe que le code de base a beaucoup de travail inachevé, et n’est
donc pas dans un état très finalisé.
Le plugin Task Scanners de Jenkins permet de garder une trace de ces sortes de balises dans votre code source, et optionnellement de signaler un build avec une mauvaise icône de temps sur le tableau de bord s’il y a beaucoup trop de tâches ouvertes.
Pour le configurer, vous devez installer à la fois le plugin Static Analysis Utilities et le plugin Task Scanner. Une fois qu'ils sont installés, vous pouvez activer le plugin dans votre projet en cochant la case « Recherche des tâches ouvertes dans le workspace » dans la section Configuration du Build dans la configuration de la tâche de votre projet.
Configurer le plugin Task Scanner est assez simple (voir Figure 9.16, “Configurer le plugin Task Scanner est simple”). Vous entrez simplement les balises que vous souhaitez suivre, avec différentes priorités si vous considérez certaines balises comme étant plus importantes que d’autres. Par défaut, le plugin scrutera tout le code source java dans le projet, mais vous pouvez redéfinir ce comportement en complétant le champ Files to scan. Dans Figure 9.16, “Configurer le plugin Task Scanner est simple”, par exemple, nous vérifions les balises pour les fichiers XML et JSP.
Le bouton Avancé vous donne accès à des options plus sophistiqués. Probablement, les plus utiles sont les seuils de santé, qui vous laissent définir le nombre maximum de problèmes tolérés avant que le build ne soit plus considéré « ensoleillé », et le nombre minimum de problèmes requis pour le statut de « temps orageux ».
Le plugin génère un graphique qui montre les tendances de balises par ordre de priorité (voir Figure 9.17, “Le graphique de tendances des tâches ouvertes”). Si vous cliquez sur le rapport des tâches ouvertes, vous pouvez aussi voir le détail des tâches par module Maven, package ou fichier, ou encore une liste des tâches ouvertes.