Mesure de la qualité du code source - Algorithmes et outils

Crap4j

Principe

Crap4j permet de détecter les classes et les méthodes à refactoriser rapidement en appliquant sur le code source un algorithme basé sur la complexité cyclomatique et la couverture par les tests. La formule utilisée par Crap4j est la suivante :

comp(m)^2*(1-cov(m^3)/100)+comp(m)

Avec :

Utilisation

Avec eclipse, ce plugin s'installe facilement depuis le menu de mise à jour (URL: http://www.crap4j.org/downloads/update) . Une fois le plugin installé, un menu Crap4j apparait. Il suffit de cliquer sur l'entrée "Run Crap4j" de ce menu après avoir sélectionné un projet. Après l'exécution de ce plugin, un répertoire "agitar" est créé à la racine du projet. Ce répertoire contient le rapport de Crap4j, au format HTML. Voici un exemple de rapport que Crap4j a généré à partir des classes que j'ai créées pour cet exposé :

Exemple de rapport de
        Crap4j

Il est possible d'obtenir plus de détails en cliquant sur le lien "crap", en bas de la première page du rapport. On obtient alors le score de chaque méthode du projet, trié par score croissant, comme montré sur la capture suivante :

Exemple de rapport de
        Crap4j

On retrouve sur cette capture d'écran la méthode "faireOperation" de la classe "Banque" que j'ai présentée lors du calcul de la complexité cyclomatique. On constate que Crap4j lui attribué un score de 56, ce qui est assez élevé. Cela s'explique par le fait que cette méthode n'est absolument pas testée. Si on ajoutait des tests unitaires pour cette méthode, son score serait beaucoup plus faible.

<<< Outils - Introduction

PMD >>>