Comment puis-je visualiser les changements dans une grande qualité de base de code?

StackOverflow https://stackoverflow.com/questions/3869928

  •  28-09-2019
  •  | 
  •  

Question

L'une des choses que j'ai pensé à beaucoup de et comment nous pouvons utiliser les mesures d'un certain type pour mesurer le changement, que nous allons en arrière ou non? Ceci est dans le contexte d'une grande base de code existant que nous améliorons. La plupart du code est C ++ avec un patrimoine C. Quelques nouvelles fonctions et l'interface graphique sont écrites en C #.

Pour commencer, nous pourrions au moins vérifierons si le simple niveau de complexité est en train de changer au fil du temps dans le code. La difficulté est d'avoir une représentation -. Nous pouvons peut-être faire une surface 3D où une carte 2D représente le code et nous avons une carte thermique de couleur représentant la complexité de la bombement surface 3D et sur le changement de spectacle

Une fois que vous pouvez générer des MATRICS de chiffres, il y a une tonne de systèmes mathématiques autour de prendre soin de choses comme ça.

Au cours du temps, j'aimerais avoir des chiffres plus sophistiqués là-bas, mais les mêmes techniques de visualisation utilisées pour représenter le changement.

Je aime l'idée Crap4j de se concentrer sur le rapport entre la complexité et le nombre de tests unitaires couvrant ce code.

Je voudrais aussi inclure des mesures comme SOLIDES oncle Bob et certains des Chidamber et métriques Kemerer OO. La partie difficile est de trouver des outils pour générer ces C ++. La seule option semble être Krakatau essentielles Metrics (je n'ai aucune objection à payer pour des outils). Mon désir d'utiliser les CK métriques vient en partie des livres métriques orientées objet: Mesures de complexité par Henderson-Sellers et la première Metrics Object-Oriented Software .

Si nous commençons à utiliser un certain nombre de ces mesures on pourrait se retrouver avec une dizaine des chiffres qui sont variables dans le temps. Je suis assez ignorant des statistiques, mais il semble qu'il pourrait être intéressant de suivre un tas de ces mesures, puis faire attention à ceux qui ont tendance à varier.

Notez qu'une question connexe est sur le Code de mesure qualité sur une large base de code . Je suis plus intéressé à mesurer le changement .

Était-ce utile?

La solution

J'envisager d'utiliser pour représenter métriques logicielles multiples dimensions en évolution au fil du temps un Kiviat Diagramme . Ces diagrammes représentent plusieurs points de données dans une coque concave autour d'un point central. L'inspection visuelle montrera où une métrique particulière va vers le haut ou vers le bas, et on doit être en mesure de calculer un ratio global de la zone biaisée par la valeur métrique en utilisant un certain calcul de la zone hueristic.

Autres conseils

Vous pouvez aussi avoir un coup d'œil sur documentation NDepend sur les métriques de code . Disclaimer:. Je suis l'un des développeur de l'outil NDepend

code Règle et la requête sur LINQ (CQLinq) installation, il est possible de demander le code métrique évolution / tendances sur deux clichés différents dans le temps de la base de code. Par exemple, il y a une règle par défaut proposée: Évitez de faire des méthodes complexes même plus complexe illustré par la figure suivante:

Évitez de faire des méthodes complexes encore plus complexes

Plusieurs règles de Trending métriques sont proposées comme:

En ce qui concerne la visualisation des métriques de code, NDepend permet des valeurs de métriques de code Visualize par un treemap interactive :

Code métrique viualized par Treemap

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top