Métriques de code….indicateurs d’une bonne conception et d’un développement optimisé!
Bonjour à tous,
Récemment lors d’un audit de code, j’ai montré à un de nos clients que Visual Studio Team System intégrait une fonctionnalité intéressante : les métriques de code.
Au même titre que Fx Cop, intégré dans la version 2008 VSTS, les métriques de code vous permettent de souligner des anomalies en termes de conception de votre projet pouvant causer d’importants problèmes de maintenance et performance.
Quelles sont ces métriques?
Indice de facilité de maintenance
Indice de 0 à 100 qui indique pour chaque classe, projet, namespace….la facilité à maintenir le code. Un code évalué en dessous de 20 sera ainsi plus difficile à maintenir qu’à 80.
Complexité cyclomatic
Cette métrique est utilisée pour quantifier des anomalies structurelles comme une complexité inhérente à l’imbriquation successive de structures de contrôles (if/else), de parcours (switch) ou encore ditération (foreach, while….). Plus l’indice est élevé, plus il y a un risque au niveau performance mais aussi maintenance et enfin de test. En effet, plus la complexité cyclomatic est élevée, plus il y a de chemins potentiels différents dans une même partie de code!
Profondeur d’héritage
Cette métrique parle d’elle même, cela permet d’identifier les parties d’une solution qui sont plus difficiles à identifier. En effet, plus la profondeur est élevée, plus il sera difficile d’identifier les dépendances et autre.
Couplage de classe
Un bon indicateur pour savoir si votre conception est bonne ou non. Plus le couplage est élevé, moins votre projet et ses classes sont modulables.
Lignes de code
Au même titre que le couplage de classe, les lignes de code permettent de voir si la phase de conception a bien été murie. En théorie, une classe ne doit pas dépasser 1000 lignes et une fonction une centaine de lignes. Dans le cas contraire, il faut voir si fonctionnellement un découpage ne devrait pas être engagé. Pour information, cette métrique utilise les lignes de code MSIL ce qui signifie qu’on enlève les espaces, commentaires…
Comment utiliser les métriques de code?
Visual Studio intègre cette fonctionnalité dans la version Team System. De manière très simple, il suffit de suivre les étapes suivantes pour lancer l’évaluation de votre code.
Dans l’explorateur de solution, clic droit sur le nom de la solution puis “Calculer les métriques de code”.
Une fenêtre d’analyse des résultats apparait alors en bas en classant votre solution selon la hiérarchie. Vous aurez les projets, en dépliant les namespaces, en dépliant les classes puis les méthodes. Cela vous permet d’avoir une vision macroscopique de la solution comme très précise.
N’hésitez plus à utiliser cette fonctionnalité, très utile pour valider une architecture de solution et/ou à l’optimiser!
Plus d’infos? https://msdn.microsoft.com/fr-fr/library/bb385910.aspx
Vincent