Lines Of Code und Softwarequalität

veröffentlicht am 20.06.2009 | 0 Kommentare

Die Qualität von Software sollte Entwicklern besonders am Herzen liegen. Um diese auch objektiv bewerten zu können, bedient man sich sogenannter Produkt-Metriken, die für jede Software einen Zahlenwert erzeugen. Die Interpretation und der Vergleich solcher Zahlenwerte soll Aufschluss darüber geben, ob eine Software qualitativ „gut“ oder „schlecht“ ist.

Eine der Größen, auf die ich auch vor Kurzem wieder angesprochen wurde, ist die Gesamtanzahl aller Programmzeilen (LOC) einer Software. Solche Werte werden vor allem von Beratungsunternehmen zu statistischen Zwecken erfasst und mit hunderten anderer Projekte verglichen. Dies soll einerseits helfen zukünftig bessere Aufwandsschätzungen abzugeben und andererseits die geleistete Arbeit zu bewerten.

Aus der Anzahl der Programmzeilen und durchgeführten Tests lassen sich Aussagen darüber treffen, wie viele unentdeckte Fehler es statistisch gesehen (19 pro 1000 Zeilen) noch im Programmcode gibt.

Maß für Leistung oder Qualität?

Dies verleitet nur allzu sehr die Anzahl der Zeilen auch als Qualitätskriterium für die Leistung einzelner Entwickler heranzuziehen. Frei nach dem Motto: „Wer mehr Programmcode pro Stunde schreibt, der erbringt mehr Leistung und ist ein besserer Programmierer.“

Nun, dem ist nicht so. Ein erfahrener Programmierer kennt sich in der Regel gut mit den ihm zur Verfügung stehenden Bibliotheken und anderen Quellen von Sourcecode aus. Er kann mit nur wenigen Zeilen die nötigen Aufrufe schreiben und ist schnell mit seiner Aufgabe fertig. Die zu erwartende Fehleranzahl ist gering, da sie proportional zur Quellcodegröße ist.

Der unerfahrene Programmierer hingehen schreibt aus Unkenntnis tendenziell öfter etwas, dass es bereits gibt und erfindet das sprichwörtliche Rad neu. Er erzeugt dabei wesentlich mehr Zeilen, benötigt mehr Zeit und hat statistisch betrachtet mehr Fehler in seinem Code als der erfahrene Programmierer. Zusätzlich ist dieser Code durch seine Länge schwerer zu lesen und zu warten.

Gleich gut?

Auf den Außenstehenden wirkt es so, als habe der unerfahrenere Programmierer mehr geleistet. Dieser Eindruck relativiert sich, wenn man den Quotient aus Anzahl der Programmzeilen pro Stunde betrachtet. Der Wert wird wahrscheinlich bei beiden ähnlich groß sein, da sich die Größen „Zeilen“ und „Stunden“ annähernd proportional zu einander verhalten.

Mann kann so dem Trugschluss erliegen, beide Entwickler wären in etwa gleich gut oder würden eine ähnlich gute Leistung erbringen. Auch die Anzahl der Fehler pro tausend Zeilen lässt dieses Bild nicht anders erscheinen. Und da die Entwickler in der Regel mit unterschiedlichen Aufgaben betraut werden, ist ein Vergleich nicht möglich.

Der Unterschied ist da: Der unerfahrene Programmierer erzeugt mehr Fehler.
Nur lässt es sich nicht durch Zeilen pro Stunde oder Fehlern pro Zeilen messen.

Kommentare



Pflichtfeld
Deine E-Mail Adresse wird nicht veröffentlicht.


Über mich

Mein Name ist Alexander Szabó und ich bin Autor dieses Blog. Ich bin passionierter Systemarchitekt, Entwickler, Erfinder und Weltverbesserer.