Valeurs de la métrique du code

La complexité accrue des applications logicielles modernes augmente également la difficulté de rendre le code fiable et maintenable. La métrique du code est un jeu de mesures de logiciel qui fournit aux développeurs plus de détails sur le code qu'ils développent. En tirant parti des métriques de code, les développeurs peuvent comprendre quels types et/ou méthodes doivent être retravaillées ou testées de manière plus approfondie. Les équipes de développement peuvent identifier les risques potentiels, comprendre l’état actuel d’un projet et suivre la progression pendant le développement de logiciels.

Les développeurs peuvent utiliser Visual Studio pour générer des données de métriques de code qui mesurent la complexité et la facilité de maintenance de leur code managé. Les données de métriques de code peuvent être générées pour une solution entière ou un seul projet.

Pour plus d’informations sur la façon de générer des données de métriques de code dans Visual Studio, consultez Guide pratique pour générer des données de métriques de code.

Mesures logicielles

La liste suivante présente les résultats des métriques de code que Visual Studio calcule :

  • Index de maintenabilité : calcule une valeur d’index comprise entre 0 et 100 qui représente la facilité relative de maintenance du code. Une valeur élevée signifie une meilleure maintenabilité. Les évaluations codées en couleur peuvent être utilisées pour identifier rapidement les points de problème dans votre code. Une évaluation verte est comprise entre 20 et 100 et indique que le code a une bonne maintenabilité. Une évaluation jaune est comprise entre 10 et 19 et indique que le code est modérément maintenable. Une évaluation rouge est une évaluation comprise entre 0 et 9 et indique une faible facilité de maintenance. Pour plus d’informations, consultez Plage et signification de l’indice de maintenabilité.

  • Complexité cyclomatique : mesure la complexité structurelle du code. Il est créé en calculant le nombre de chemins de code différents dans le flux du programme. Un programme qui a un flux de contrôle complexe nécessite davantage de tests pour obtenir une bonne couverture du code et est moins maintenable. Pour plus d’informations, consultez Complexité cyclomatique.

  • Profondeur de l’héritage : indique le nombre de classes différentes qui héritent les unes des autres, jusqu’à la classe de base. La profondeur de l’héritage est similaire au couplage de classes, car une modification d’une classe de base peut affecter l’une de ses classes héritées. Plus ce nombre est élevé, plus l’héritage est profond et plus le potentiel de modifications de classe de base peut entraîner un changement cassant. Pour la profondeur de l’héritage, une valeur faible est bonne et une valeur élevée est incorrecte. Pour plus d’informations, consultez Profondeur de l’héritage.

  • Couplage de classes : mesure le couplage avec des classes uniques via des paramètres, des variables locales, des types de retour, des appels de méthodes, des instanciations génériques ou de modèles, des classes de base, des implémentations d’interfaces, des champs définis sur des types externes et une décoration d’attributs. Une bonne conception logicielle détermine que les types et méthodes doivent avoir une cohésion élevée et un couplage faible. Le couplage élevé indique une conception difficile à réutiliser et à maintenir en raison de ses nombreuses interdépendances sur d’autres types. Pour plus d’informations, consultez Couplage de classes.

  • Lignes de code source : indique le nombre exact de lignes de code source présentes dans votre fichier source, y compris les lignes vides. Cette métrique est disponible à partir de Visual Studio 2019 version 16.4 et Microsoft.CodeAnalysis.Metrics (2.9.5).

  • Lignes de code exécutable : indique le nombre approximatif de lignes de code exécutables ou d’opérations. Il s’agit d’un nombre d’opérations dans le code exécutable. Cette métrique est disponible à partir de Visual Studio 2019 version 16.4 et Microsoft.CodeAnalysis.Metrics (2.9.5). La valeur est généralement proche de la mesure précédente, Lignes de code, qui est la métrique basée sur l’instruction MSIL utilisée en mode hérité.

Méthodes anonymes

Une méthode anonyme est simplement une méthode qui n’a pas de nom. Les méthodes anonymes sont le plus fréquemment utilisées pour passer un bloc de code en tant que paramètre délégué. Les résultats des mesures de code pour une méthode anonyme déclarée dans un membre, tel qu’une méthode ou un accesseur, sont associés au membre qui déclare la méthode. Ils ne sont pas associés au membre qui appelle la méthode.

Code généré

Certains outils logiciels et compilateurs génèrent du code qui est ajouté à un projet et que le développeur de projet ne voit pas ou ne doit pas modifier. La plupart du temps, les métriques de code ignorent le code généré lorsqu’ils calculent les valeurs des métriques. Cela permet aux valeurs de métriques de refléter ce que le développeur peut voir et modifier.

Le code généré pour Windows Forms n’est pas ignoré, car il s’agit d’un code que le développeur peut voir et modifier.