LOC (lines of code)

Zur Messung von Softwareprodukten werden sogenannte Software-Metriken verwendet, die unterschiedliche Eigenschaften von Softwareprodukten und -prozessen quantifizieren. Dabei ist Lines-of-Code (LOC) das einfachste, älteste und nach wie vor am häufigsten verwendete Maß für die Komplexität eines Softwareprodukts. Lines-of-Code integriert sich in die Gruppe der sogenannten Umfangsmetriken, wobei die Anzahl der effektiven Codezeilen ohne Leer- und Kommentarzeilen summiert werden.


LOC = Anzahl effektiver Codezeilen

In Zusammenhang mit der Verwendung dieser Metrik ist es aber von Nachteil, dass ein starker Bezug zur eingesetzten Programmiersprache und zum Programmierstil vorhanden ist. Häufig wird daher zunächst ein weiteres Werkzeug zur Vereinheitlichung der optischen Form eingesetzt, wodurch dann zumindest die Anzahl der Codezeilen unter Berücksichtigung unterschiedlicher Programmierer vergleichbar wird. Dennoch werden dabei nicht mehrere Anweisungen in einer Codezeile gesondert beachtet.

Daher ist Number of Statements (NOS) ein effizienteres Maß, da hierbei anstelle der Codezeilen die Anzahl der ausführbaren Anweisungen berücksichtigt werden.

NOS = Anzahl ausführbarer Anweisungen

Sowohl LOC als auch NOS können für die Schätzung des Aufwands und der Kosten für Software-Module verwendet werden. Zusätzlich werden LOC und NOS als Maß für die Testbarkeit sowie Wartbarkeit von Modulen eingesetzt, da der diesbezügliche Aufwand mit der Größe eines Software-Moduls wächst.

Ein interessanter Aspekt ist die starke Korrelation (Ähnlichkeit) der Werte von LOC und NOS zu denen, die mit den weit aufwendigeren Verfahren von McCabe und Halstead ermittelt werden. Hier ist also die Verwendung von LOC und NOS durchaus vorteilhaft anzusehen. Dem steht jedoch gegenüber, dass damit nicht die besonderen Aspekte von komplexeren Anweisungen und Ablaufstrukturen berücksichtigt werden.

Informationen zum Artikel
Deutsch: Lines-of-Code
Englisch: lines of code - LOC
Veröffentlicht: 02.11.2013
Wörter: 269
Tags: #Analyse
Links: Anweisung, Aspekt, Aufwand, Halstead, Korrelation