CodequalitätMit Codequalität wird in der Programmierung das Maß bezeichnet, mit dem der Quellcode eines Programms bestehende, die formale Gestaltung betreffende Anforderungen erfüllt. Codequalität ist ein Teilaspekt von Softwarequalität, mit dem insbesondere nicht-funktionale Anforderungen wie Konformität, Verständlichkeit, Analysierbarkeit, Modifizierbarkeit, Anpassbarkeit, Prüfbarkeit (so z. B. benannt und definiert nach ISO/IEC 9126) erfüllt bzw. unterstützt werden sollen. Im Sprachgebrauch werden für denselben Sachverhalt auch die Ausdrücke Programmierstil oder Codierstil benutzt, weitere Synonyme sind z. B. Codestruktur, Codeformat(ierung) etc. AllgemeinAls Teil des gesamten Qualitätsbegriffs für Software, der „die Gesamtheit der Merkmale und Merkmalswerte eines Softwareprodukts [umfasst], die sich auf dessen Eignung beziehen, festgelegte oder vorausgesetzte Erfordernisse zu erfüllen“,[1] bezieht sich „Codequalität“ auf die nicht-funktionalen und eher formalen Anforderungen, die durch die Gestaltung des Quelltextes zu erfüllen sind. Eine hohe Codequalität fördert die Verständlichkeit und Wartbarkeit des Quelltextes. Alleine der Einsatz von Komplexitätsmetriken und die Verbesserung der damit aufgezeigten Codeteile führen zu ca. 20 % höherer Produktivität in der Softwarewartung.[2] Generell wird die verbesserte Verständlichkeit und Wartbarkeit durch formale Sauberkeit und eine verständliche Struktur erreicht.[3] Da es sich bei der Software-Entwicklung um einen kreativen Prozess handelt,[4] ist eine explizite Unterteilung in „guten“ oder „schlechten“ Code nicht einfach möglich. Zwar existieren quasi-standardisierte Methodenkonzepte, nach denen Software entwickelt wird; für das Erstellen von Code jedoch lassen sich häufig nur sogenannte Best practices, Entwurfsmuster (inkl. identifizierter Antimuster) oder auf den Quellcode bezogene Style-Guides mit fakultativem Charakter finden. Dennoch lässt sich Codequalität beschreiben, unter anderem mit geeigneten Softwaremetriken wie beispielsweise Komplexitätsmetriken. Mit Werkzeugen zur Quelltextformatierung kann Programmcode automatisch an bestimmte Formatvorgaben angepasst werden. Kriterien„Guter Code“ zeichnet sich in erster Linie durch ein klar definiertes und von außen sichtbares Erscheinungsbild aus. Mit undurchdachtem oder unter Zeitdruck niedergeschriebenem Quelltext wird oft versucht, mehrere Aufgaben auf einmal zu erfüllen, der Code verliert somit die Fähigkeit, den Auftragsinhalt klar zu kommunizieren und zeichnet sich infolgedessen häufig durch sogenannte Code-Smells aus. Auf diese Weise wird die Ausdruckskraft, Kontrolle und Erweiterbarkeit vermindert beziehungsweise erschwert.[4] Auf Basis dieser Feststellung lassen sich verschiedene Unterscheidungskriterien formulieren, die auch für die Testgetriebene Entwicklung von Interesse sind:
Hierbei handelt es sich nicht um objektiv messbare Kriterien. Dennoch lassen sich Quelltexte mit Hilfe dieser drei Qualitätsmerkmale unterscheidend bewerten.[5] Unter gewissen Voraussetzungen kann auch die Portierbarkeit von Code ein Kriterium für dessen Qualität sein. Dies betrifft allerdings nur solchen Code, dessen Interpretation und Ausführung von der CPU-Familie bzw. vom Prozessortyp des Rechners, auf welchem der Code zum Laufen gebracht werden soll, abhängt. Man spricht auch von „maschinenabhängigem Code“, der für die Portierbarkeit eine Bedeutung besitzt. In plattformübergreifenden Software-Projekten, in welchen mit niederen Programmiersprachen gearbeitet wird, spielt Portierbarkeit in vielen Fällen eine Rolle.[6] Ebenso ist die anzustrebende Codequalität davon abhängig, inwieweit die Qualitätskriterien situationsbedingt von Bedeutung sind. Geringere Bedeutung kommt den Kriterien z. B. zu, wenn die Software nur einmalig (im Gegensatz zu dauerhaft) benutzt werden soll; oder im privaten Bereich (im Ggs. zu einem unternehmerischen Umfeld mit ggf. vielen Softwareentwicklern). Die in solchen Fällen geringeren Anforderungen können sich dementsprechend auch im Programmcode widerspiegeln. Qualitätssichernde MaßnahmenBeispiele für Maßnahmen zur Herstellung „guten Programmcodes“ können u. a. sein:
Literatur
Einzelnachweise
|
Portal di Ensiklopedia Dunia