Lines of Code-Metriken

[English][Français]

Messung von Lines of Code-Metriken mit den Komplexitätsmesstools Testwell CMT++ und Testwell CMTJava

Lines of Code-Metriken sind die ältesten Größen zur Messung der Softwarekomplexität.
LOC-Metriken sind einfach zu messen und zu verstehen.
Allerdings berücksichtigen diese Metriken nicht das "Layout" und den Informationsgehalt des Codes.

CMT++ berechnet die folgenden Lines-of-Code-Metriken:

  • LOCphy: Anzahl der physikalischen Zeilen
  • LOCbl: Anzahl der Leerzeilen (blank lines), Hinweis: Leerzeilen innerhalb eines Kommentarblocks werden als Kommentarzeile gezählt
  • LOCpro: Anzahl der Programmzeilen (Deklarationen, Definitionen, Direktiven und Code)
  • LOCcom: Anzahl der Kommentarzeilen

Hier einige Empfehlungen für Lines-of-Code-Messungen:

Die Länge einer Funktion sollte zwischen 4 und 40 Programmzeilen liegen. Eine Funktionsdefinition beinhaltet mindestens einen Prototyp, eine Zeile des Codes und ein Paar Klammern, also mindestens 4 Zeilen.
Eine Funktion mit mehr als 40 Programmzeilen implementiert wahrscheinlich mehrere Funktionen. Hierbei sind Funktionen, die eine switch- bzw. if-Anweisung mit vielen Verzweigungen beinhalten, eine Ausnahme. Die Zerlegung einer solchen Funktionen in kleinere Funktionen würde deren Lesbarkeit meist verringern.

Die Länge einer Datei sollte 4 bis 400 Programmzeilen sein. Die kleinste Einheit, die sinnvoll eine Datei füllen kann, ist eine Funktion und die minimale Länge einer Funktion beträgt 4 Zeilen.
Dateien, die länger als 400 Programmzeilen sind (10-100 Funktionen) sind meistens zu lang, um als Ganzes verstanden zu werden

Mindestens 30 Prozent und maximal 75 Prozent einer Datei sollten Kommentare sein. Falls Kommentare weniger als ein Drittel einer Datei ausmachen, ist die Datei entweder sehr trivial oder schlecht kommentiert.
Falls mehr als 75 Prozent einer Datei Kommentare sind, ist die Datei kein Programm, sondern ein Dokument.
In einer gut dokumentierten header-Datei kann der Anteil der Kommentare manchmal 75 Prozent überschreiten.

weitere Informationen über unsere Komplexitätsmesstools:
CMT++ (für C/C++) und CMTJava (für Java)


last updated: 05.06.2007

© 1996-2007 Testwell Oy
© for the german translation: 2005-2007 Verifysoft Technology
CTA++, CTC++, CMT++ and CMTJava are products of Testwell Oy, Tampere (Finland)
all other trademarks of this site are the property of their respective owners.