Messung von Lines of Code-Metriken
mit Testwell CMT++ und Testwell CMTJava
Die Werkzeuge zeigen unter anderem Lines of Code-Metriken (Zeilenmetriken) an.
LOC-Metriken sind einfach zu messen und zu verstehen.
Allerdings berücksichtigen diese Metriken nicht das "Layout" und den Informationsgehalt des Codes.
Testwell CMT++ und CMTJava berechnen 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.
Testwell CMT++ und CMTJava zeigen die folgenden Softwaremetriken an:
- Zeilenmetriken/Lines-of-code (LOC) Metriken
- Halstead-Metriken
- McCabe Cyclomatic Number v(G)
- Wartungsaufwand (Maintainability Index)
GrammaTech CodeSonar und Imagix 4D
Neben Testwell CMT++ und CMTJava bietet Verifysoft Technology in den deutschsprachigen Ländern folgende Werkzeuge an, die unter anderem auch die Code-Komplexität messen:Wir beraten Sie gerne bei der Auswahl des für Sie besten Werkzeugs.
Kontaktieren Sie uns jetzt!