2008-09-25 5 views
14

Après avoir lu les réponses à la question "Calculate Code Metrics" J'ai installé l'outil SourceMonitor et calculé quelques métriques.Comment interpréter les métriques de code (calculées par SourceMonitor)

Mais je n'ai aucune idée de comment les interpréter.

Qu'est-ce qu'un « bon » valeur pour la métrique

  • « États de la Direction de pourcentage »
  • « Méthodes par classe »
  • « États moyenne par méthode »
  • « Méthode maximale ou Fonction Complexité "

Je n'ai trouvé aucun indice dans la documentation, quelqu'un peut-il m'aider?

Répondre

15

SourceMonitor est un outil génial. «Méthodes par cours» est utile à ceux qui souhaitent s'assurer que leurs cours suivent les bons principes OO (trop de méthodes indiquent qu'une classe pourrait prendre plus qu'il ne le devrait). «Moyenne des déclarations par méthode» est utile pour avoir une idée générale de la taille de chaque méthode. Plus utile pour moi est l'information sur les méthodes avec trop d'énoncés (double-cliquez sur le module pour plus de détails grain).

Fonction La complexité est utile pour déterminer à quel point le code est désagréable. Vraiment j'utilise cette info plus que toute autre chose. C'est une information sur la complexité de la plus mauvaise fonction d'un module (au moins en fonction de la complexité cyclomatique). Si vous double-cliquez sur le module/fichier, vous pouvez trouver quelle méthode particulière est si mauvaise.

7

En règle générale, une complexité cyclomatique de 10 ou moins est l'endroit où vous voulez être. Un CC de 11 à 20 est à peu près aussi élevé que vous voulez dans la plupart des cas: une fois que vous obtenez plus de 20, vous avez plus de chances de rencontrer des problèmes pour trouver et corriger les défauts. à une méthode qui doit être refactorisée maintenant. Gardez à l'esprit que ce sont des lignes directrices. Il est possible d'avoir une méthode avec un CC de 25 aussi simplifié que possible; vous voudrez juste être plus prudent avec ces méthodes quand vous avez besoin de les mettre à jour.

Questions connexes