Mein Vortrag am Barcamp »The Next Web« an der FH Salzburg am 21. Oktober 2016 über die Anwendung von Komplexitätsmetriken auf eine Nicht-Programmiersprache.
Zuverlässigkeit: Gleiche Ergebnisse bei Wiederholung ▸ Normierung: Messergebnisskala und Vergleichbarkeitsskala ▸ Vergleichbarkeit: Maß mit anderen Maßen in Relation setzbar
eine Kante besitzen, die in keinem anderen Pfad durchlaufen wurde. Kontrollfluss bildet ein Programm als Graph ab, bestehend aus Knoten (Nodes) und Kanten (Edges). !
der Anzahl der Pfade durch das Programm. (= Anzahl der möglichen Ergebnisse der gegebenen Bedingungen) Faustregel: Je kleiner die zyklomatische Komplexität eines Programms, desto einfacher ist es, es zu verstehen, desto geringer ist das Risiko, es zu modifizieren.
der Anzahl der Entscheidungen, die ein Browser treffen muss, ob er ein Element styled oder nicht. Faustregel: Jeder Teil eines CSS-Selektors ist ein IF-Statement. Aus je mehr IF-Statements ein Selektor besteht, desto größer ist seine zyklomatische Komplexität.
div.image-buttons-panel a span.button.btn-video-text { // Do something } ▸ Subjekt (um was es geht): .btn-video-text ▸ Kondition (unnötige Komplexität): .column-wide .asset- list-box-hp-special ul li div.video-pic div.image-buttons-panel a span.button
keine allgemeingültigen Standards. Definiert euer eigenes Set an Metriken und ihre Maxima für euer Projekt. Metriken sind kein Ersatz für Revisionen, Tests oder Verifizierungen.