Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Grundlagen der Programmierung: Codemetriken

Halstead-Metriken

Testen Sie unsere 2021 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Ein weiteres Maß für die Komplexität von Quellcode ergibt sich aus den Halstead-Metriken. Betrachten Sie, was es damit auf sich hat.
03:04

Transkript

Kommen wir zu einer Sammlung von Metriken, die sehr interessant sind, aber auch ganz schön umstritten, die so genannten Halstead-Metriken. Das hier ist ein Ausschnitt des Wikipedia-Artikels über die Halstead-Metriken, und ich finde ihn perfekt als Beispiel dafür, was mit den Metriken erreicht werden soll. Denn wenn wir einfach nur auf den Artikel schauen, dann werden wir zunächst von einer Lawine der Komplexität überrollt. Je nachdem wie Mathematik-begeistert man ist, je nachdem wie viele Operanten und Operatoren man kennt, die hier zu sehen sind, fällt es einem leichter oder weniger leicht. Bei den Halstead-Metriken geht es darum, dass man einschätzt, wie viel Operatoren und Operanten vorhanden sind und auf Basis derer, der Menge Operatoren und Operanten, sowie der Unterschiedlichkeit jener, einschätzt, wie hoch das Volumen oder die Länge ist. Es geht also erst einmal nicht darum, wie viele "If"- und "Else"-Anweisungen da drin sind, sondern wie viele Schlüsselworte sind vorhanden, wie viele unterschiedliche Zeichensätze sind in unserem Quellcode vorhanden, wie viel Zeichen sind insgesamt vorhanden. Es wird damit eine lexikalische Komplexität geschätzt. Und zwar eben in Form der Länge und des Volumens. Dabei kann man sich vorstellen, dass ein geringes Volumen, wie dieser Ausschnitt jetzt, wesentlich leichter verstanden werden kann als eben der gesamte Text, der ein viel größeres Volumen, eine viel größere Länge hat, und in der eben auch viele unterschiedliche Buchstaben und Symbole vorkommen. Das finde ich persönlich ziemlich interessant, weil das noch einmal unterstreicht, dass man Komplexität am ehesten Herr wird, indem man Probleme aufteilt, indem man das Volumen der Einzelprobleme verringert. Ausgehend von der Berechnung der Länge und des Volumens können wir dann beispielsweise auch errechnen, wie schwierig es ist, ein Programm zu schreiben und zu verstehen. Wenn wir wissen, wie schwierig es ist, können wir anhand des Volumens errechnen, wie hoch der Aufwand ist. Und wenn wir den Aufwand kennen, dann können wir auch Aussichten darüber schaffen, wie hoch die Implementierungszeit sein könnte. Gerade das mit der Implementierungszeit ist natürlich aber auch etwas schwierig, vor allem, wenn es darum geht, den Quellcode zu bewerten. Quellcode lebt nicht davon, dass er besonders kurz oder besonders lang ist, sondern es kommt sehr stark darauf an, was wir letztendlich umsetzen wollen, welche Frameworks wir einsetzen. Die Komplexität liegt nicht unbedingt im Quellcode selbst, sondern im Verhalten und im Zusammenspiel, und das können die Halstead-Metriken so nicht erfassen. Da wir außerdem für die Volumenangabe mit dem Zeilencode eine andere Metrik haben, die leichter zu verstehen ist und im Grunde nur genauso unscharfe Ergebnisse liefert wie die Halstead-Metriken, sind die Halstead-Metriken eben umstritten, beziehungsweise werden in gängigen Tools nur eher selten eingesetzt.

Grundlagen der Programmierung: Codemetriken

Lernen Sie Methoden, Prinzipien und Werkzeuge kennen, mit deren Hilfe Sie die Qualität Ihrer Software dauerhaft sicherstellen können.

1 Std. 43 min (20 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Exklusiv für Abo-Kunden
Erscheinungsdatum:25.04.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!