Tool zum Berechnen von Metriken aus der Quellcodeverwaltung

Gibt es ein einfaches Tool, das verschiedene Metriken aus der Versionskontrolle berechnen kann? Die meisten Metrikrechner funktionieren nur mit Quellcode. Ich verwende SVN. Einige nette Grafikausgaben wie Diagramme oder Histogramme wären auch gut.

Metriken wie:

  • Wie oft jede Datei geändert wird
  • Wie viele Dateien oder LoC wurden in Commits geändert (Durchschnitt, Median, Histogramm)
  • Welche Dateien werden oft zusammen geändert
  • Wie viele LoC werden für jede Datei geändert (Durchschnitt, Median, Histogramm)
Es ist nicht für SVN (wie Sie gefragt haben), aber es gibt eine Python-basierte Lösung namens git-churn , die ein Anfang für das sein könnte, was Sie wollen. Python lässt sich leicht modifizieren, sodass Sie möglicherweise die analogen SVN-Operationen ausführen und die Visualisierungen mit einem anderen Tool hinzufügen könnten.

Antworten (2)

Ich weiß nicht, ob Sie ein Tool finden werden, das alle Ihre Anforderungen erfüllt, aber dasjenige, das ich empfehlen kann, ist StatSvn . Wir verwenden es als Teil unseres nächtlichen Jenkins-Build-Prozesses. Es identifiziert LOC und Churn für uns.

In dem Buch Dein Code als Tatort (Amazon Deutschland) nutzt Adam Tornhill Versionskontrollsysteme, um viele interessante Fakten zu finden und auf „neue“ Weise darzustellen. Das Coole daran ist, dass die generierten Grafiken interaktiv sind. Videos von Adam Tornhill findet man auch auf Youtube, aber seien Sie gewarnt, dass sie ein wenig inszeniert wirken (sie konzentrieren sich für meinen Geschmack etwas zu sehr auf den "Tatort").

Seinen Code veröffentlichte er unter dem Titel Code Maat auf Github .

  • es ist kostenlos / kostenlos / Open Source
  • es unterstützt SVN, GIT, P4, Mercurial und TFS

Die Metriken, die er verwendet, sind

  • Änderungshäufigkeit (Alter des Codes), siehe MetricsTreeMap
  • Code Churns (Hinzufügungen und Löschungen)
  • Eigentumsverhältnisse (welcher Entwickler ist für eine Klasse wichtig und könnte der Single Point of Failure sein, z. B. wenn er das Unternehmen verlässt)

Code Maat allein ist wahrscheinlich keine perfekte Antwort, da er sich nicht sehr um LoC-Metriken kümmert. Kombinieren Sie es daher mit anderen Tools wie StatSVN , um das Beste aus den Daten herauszuholen.

Ein Nachteil: Ich habe keine Binärdateien zum Herunterladen gefunden, also scheint es, dass Sie es selbst erstellen müssen.