Code-Metriken verstehen

9

Ich habe kürzlich das Eclipse Metrics Plugin installiert und die Daten für eines unserer Projekte exportiert.

Es ist alles sehr gut, diese schönen Grafiken zu haben, aber ich würde wirklich gerne tiefer verstehen, was sie alle bedeuten. Die Definitionen der Metriken gehen nur so weit, Ihnen zu sagen, was es wirklich bedeutet.

Kennt jemand gute Ressourcen, Bücher, Websites usw., die mir helfen können, besser zu verstehen, was alle Daten bedeuten, und zu verstehen, wie der Code wo nötig verbessert werden kann?

Ich interessiere mich für Dinge wie Efferent Coupling, und Cyclomatic Complexity, etc, anstatt Linien von Code oder Linien pro Methode.

    
Feet 30.09.2008, 23:29
quelle

2 Antworten

4

Ich glaube nicht, dass Code-Metriken (manchmal als Softwaremetriken bezeichnet) wertvolle Daten in Bezug auf Wo liefern Sie können sich verbessern.

Mit Code-Metriken ist es schön, zu sehen, wie viel Code man in einer Stunde schreibt etc., aber darüber hinaus erzählen sie dir von der Qualität des geschriebenen Codes, seiner Dokumentation und Codeabdeckung. Sie sind so ziemlich eine Woche Versuch zu messen, wo Sie nicht wirklich messen können.

Code-Metriken diskriminieren auch die Programmierer, die die schwierigeren Probleme lösen, weil sie offensichtlich weniger Code schreiben konnten. Aber sie haben die harten Probleme gelöst und ein Junior-Programmierer, der eine Menge Mist-Code herauspickt , sieht gut aus.

Ein weiteres Beispiel für die Verwendung von Metriken ist das sehr beliebte Ohloh . Sie verwenden Metriken, um ein Opensource-Projekt mit einem Preisschild zu versehen (mit der Anzahl der Zeilen, etc.), was an sich schon ein Fehler ist, der wie eine Hölle aussieht - wie Sie sich vorstellen können.

Nachdem alles gesagt wurde, dass der Wikipedia-Eintrag einige allgemeine Einblicke in das Thema bietet, tut mir leid, dass ich deine Frage nicht unterstützender mit einer wirklich großartigen Website oder einem Buch beantworte, aber ich wette, du hast das Gefühl, dass ich nicht groß bin Ventilator. :)

Etwas, das Sie bei Ihrer Verbesserung unterstützen könnten, wäre die kontinuierliche Integration und die Einhaltung eines Standards, wenn es um Code, Dokumentation usw. geht. So kannst du dich verbessern. Metriken sind nur Augenschmaus für Meetings - "Schau, wir haben das schon so codiert".

Aktualisieren

Ok, mein Punkt ist eine efferente Kopplung oder sogar zyklomatische Komplexität kann anzeigen, dass etwas nicht stimmt - aber es muss nicht falsch sein. Es kann ein Hinweis sein, eine Klasse umzuformen, aber es gibt keine Faustregel, die Ihnen sagt wann.

IMHO eine Regel wie 500 Zeilen Code, Refactor oder der DRY Prinzipal sind in den meisten mehr anwendbar Fälle. Manchmal ist es so einfach.

Ich gebe Ihnen so viel, dass die zyklomatische Komplexität in einem Flussdiagramm grafisch dargestellt wird, dass es ein Augenöffner sein kann. Aber wieder, verwenden Sie vorsichtig.

    
Till 01.10.2008, 00:47
quelle
1

Meiner Meinung nach sind Metriken eine hervorragende Möglichkeit, Schwachstellen in Ihrer Codebasis zu finden. Sie sind auch sehr nützlich, um Ihrem Manager zu zeigen, warum Sie Zeit damit verbringen sollten, ihn zu verbessern.

Dies ist ein Beitrag, den ich darüber geschrieben habe: Ссылка

Ich hoffe, es hilft

    
Jorge Fioranelli 15.12.2011 05:27
quelle

Tags und Links