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.