Frage

Eines der Dinge, die wir sind Gedanken über viel aus und ist, wie wir Metriken irgendeine Art Änderung messen verwenden können, gehen wir zurück oder nicht? Dies ist im Rahmen einer großen, Legacy-Code-Basis, die wir verbessern. Die meiste Code ist C ++ mit einem C Erbe. Einige neue Funktionen und die GUI in C # geschrieben.

Beginn konnten wir zumindest überprüft werden, wenn der einfache Komplexitätsgrad wurde im Laufe der Zeit in dem Code zu ändern. Die Schwierigkeit besteht darin, eine Darstellung in mit -. Können wir vielleicht eine 3D-Oberfläche tun, wo eine 2D-Karte den Code darstellt und wir haben eine Wärme-Karte Farbe darstellt Komplexität, die mit der 3D-Oberfläche in und um zu zeigen, ändern prall

Nachdem Sie einige matrics von Zahlen erzeugen können sich eine Tonne Mathe-Systeme sind um Pflege von Sachen zu nehmen wie diese.

Im Laufe der Zeit, ich mag anspruchsvollere Zahlen haben, dort aber die gleichen Visualisierungstechniken verwendet Veränderung darzustellen.

Ich mag die Idee, in Crap4j auf dem Verhältnis der Fokussierung zwischen Komplexität und Anzahl der Unit-Tests, dass Code abdeckt.

Ich möchte auch Onkel Bobs SOLID Metriken und einige der Chidamber aufzunehmen und Kemerer OO-Metriken. Der schwierige Teil ist das Auffinden Werkzeuge, um diese für C ++ zu generieren. Die einzige Option scheint zu sein, Krakatau Wesentliche Metrics (ich habe nichts dagegen, für Werkzeuge zu zahlen). Mein Wunsch, die CK-Metriken zu verwenden, kommt zum Teil aus den Büchern Object-Oriented Metrics: Maßnahmen der Komplexität von Henderson-Sellers und der frühere Objektorientierte Software-Metriken .

Wenn wir eine Reihe dieser Metriken beginnen könnten wir mit zehn oder so Zahlen am Ende, die über Zeit variieren. Ich bin ziemlich unwissend von Statistiken, aber es scheint, es könnte interessant sein, ein Bündel solcher Metriken zu verfolgen und dann achten Sie auf die diejenigen neigen dazu, zu variieren.

Beachten Sie, dass eine relevante Frage ist über Mess Code Qualität über eine große Code-Basis . Ich bin mehr daran interessiert, bei der Messung der Veränderung .

War es hilfreich?

Lösung

würde ich erwägen, einen mit Kiviat Diagramm mehrere Software-Metriken Dimensionen darzustellen im Laufe der Zeit weiterentwickelt. Diese Diagramme stellen mehrere Datenpunkte in einer konkaven Hülle um einen Mittelpunkt. Sichtprüfung zeigt, wo eine bestimmte Metrik geht nach oben oder nach unten, und man sollte in der Lage sein ein Gesamtverhältnis von Fläche von metrischen Wert mit einigen hueristic Flächenberechnung voreingenommen zu berechnen.

Andere Tipps

Sie können auch einen Blick auf NDepend Dokumentation über Code-Metriken . Disclaimer:. Ich bin einer der Entwickler des Werkzeugs NDepend

Mit der -Code-Regel und Abfrage über LINQ (CQLinq) Einrichtung ist es möglich, Code-Metrik evolution / Trending über zwei verschiedene Schnappschüsse in der Zeit der Code-Basis zu stellen. Zum Beispiel gibt es eine Standardregel vorgeschlagen: komplexe Methoden vermeiden, dass auch komplexere von dem Screenshot unten dargestellt:

Vermeiden Sie es, komplexe Methoden komplexe

Mehrere metrischen Trending Regeln vorgeschlagen wie:

In Bezug auf die Visualisierung von Code-Metrik, läßt NDepend visualize Code-Metriken Wert durch eine interaktive treemap :

Code Metric viualized durch Treemap

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top