Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Codequalität

Codequalität ist ein Teilaspekt von Softwarequalität, mit dem insbesondere nicht-funktionale Anforderungen wie Konformität, Verständlichkeit, Analysierbarkeit, …

Inhalt6 Abschnitte
  1. 1. Begriff und Bedeutung
  2. 2. Nutzen hoher Codequalität
  3. 3. Bewertung von gutem Code
  4. 4. Wichtige Kriterien
  5. 5. Portierbarkeit und Situation
  6. 6. Maßnahmen zur Qualitätssicherung

Begriff und Bedeutung

Codequalität bezeichnet in der Programmierung das Maß, mit dem der Quellcode eines Programms bestehende Anforderungen an seine formale Gestaltung erfüllt. Sie ist ein Teilaspekt der Softwarequalität. Während Softwarequalität allgemein die Eignung eines Softwareprodukts beschreibt, festgelegte oder vorausgesetzte Erfordernisse zu erfüllen, bezieht sich Codequalität besonders auf nicht-funktionale und formale Anforderungen des Quelltextes.

Zu diesen Anforderungen gehören unter anderem Konformität, Verständlichkeit, Analysierbarkeit, Modifizierbarkeit, Anpassbarkeit und Prüfbarkeit, wie sie etwa nach ISO/IEC 9126 benannt und definiert werden. Im allgemeinen Sprachgebrauch werden für denselben Sachverhalt auch Begriffe wie Programmierstil, Codierstil, Codestruktur oder Codeformatierung verwendet.

Nutzen hoher Codequalität

Hohe Codequalität fördert vor allem die Verständlichkeit und Wartbarkeit des Quelltextes. Verständlichkeit bedeutet, dass andere Entwickler den Code nachvollziehen können. Wartbarkeit bedeutet, dass der Code später leichter korrigiert, angepasst oder erweitert werden kann.

Laut Artikel kann bereits der Einsatz von Komplexitätsmetriken und die Verbesserung der dadurch erkannten problematischen Codeteile zu etwa 20 % höherer Produktivität in der Softwarewartung führen. Komplexitätsmetriken sind Softwaremetriken, also Messverfahren, mit denen bestimmte Eigenschaften von Code bewertet werden, zum Beispiel wie verschachtelt oder schwer überschaubar er ist.

Eine bessere Verständlichkeit und Wartbarkeit entsteht besonders durch formale Sauberkeit und eine verständliche Struktur. Werkzeuge zur Quelltextformatierung können Programmcode automatisch an bestimmte Formatvorgaben anpassen.

Bewertung von gutem Code

Eine einfache Einteilung in „guten“ oder „schlechten“ Code ist nicht immer möglich, weil Softwareentwicklung ein kreativer Prozess ist. Zwar gibt es quasi-standardisierte Methodenkonzepte für die Softwareentwicklung, beim eigentlichen Schreiben von Code findet man aber häufig nur Best Practices, Entwurfsmuster, erkannte Antimuster oder Style-Guides. Diese Vorgaben haben oft eher empfehlenden Charakter.

Trotzdem lässt sich Codequalität beschreiben und vergleichen. Dafür können geeignete Softwaremetriken eingesetzt werden, zum Beispiel Komplexitätsmetriken. Außerdem helfen gemeinsame Format- und Gestaltungsregeln dabei, Code einheitlicher und leichter verständlich zu machen.

Wichtige Kriterien

„Guter Code“ zeichnet sich nach dem Artikel vor allem durch ein klar definiertes und von außen sichtbares Erscheinungsbild aus. Wenn Quelltext undurchdacht oder unter Zeitdruck geschrieben wird, versucht er oft, mehrere Aufgaben gleichzeitig zu erfüllen. Dadurch kommuniziert er seinen eigentlichen Auftrag schlechter und weist häufig sogenannte Code-Smells auf. Code-Smells sind auffällige Stellen im Quellcode, die auf mögliche Struktur- oder Qualitätsprobleme hinweisen. Sie können Ausdruckskraft, Kontrolle und Erweiterbarkeit vermindern oder erschweren.

Drei wichtige Kriterien zur Unterscheidung von Codequalität sind Lesbarkeit, Testbarkeit und Änderbarkeit. Lesbarkeit fragt danach, wie gut andere Entwickler den Code nachvollziehen können. Testbarkeit beschreibt, inwiefern der Code für automatisiertes Testen geeignet und vorbereitet ist. Änderbarkeit meint, wie leicht der Code durch andere Programmierer erweitert werden kann.

Diese Kriterien sind nicht objektiv messbar. Trotzdem ermöglichen sie eine unterscheidende Bewertung von Quelltexten und sind auch für testgetriebene Entwicklung von Interesse.

Portierbarkeit und Situation

Unter bestimmten Voraussetzungen kann auch Portierbarkeit ein Qualitätskriterium sein. Portierbarkeit bedeutet, dass Code auf unterschiedliche technische Umgebungen übertragen werden kann. Das betrifft besonders Code, dessen Interpretation und Ausführung von der CPU-Familie oder vom Prozessortyp eines Rechners abhängt. Solcher Code wird als maschinenabhängiger Code bezeichnet.

Portierbarkeit spielt vor allem in plattformübergreifenden Softwareprojekten eine Rolle, besonders wenn mit niederen Programmiersprachen gearbeitet wird. Wie hoch die Anforderungen an Codequalität sind, hängt außerdem von der Situation ab. Wenn Software nur einmalig statt dauerhaft genutzt wird oder im privaten Bereich statt in einem unternehmerischen Umfeld mit vielen Entwicklern entsteht, können die Qualitätskriterien eine geringere Bedeutung haben. Diese niedrigeren Anforderungen können sich dann auch im Programmcode widerspiegeln.

Maßnahmen zur Qualitätssicherung

Zur Herstellung guten Programmcodes nennt der Artikel mehrere Maßnahmen. Dazu gehören die Erstellung und Verabschiedung von Programmierrichtlinien sowie Schulungen, in denen die darin enthaltenen Festlegungen vermittelt werden. Programmierrichtlinien legen fest, wie Code geschrieben und gestaltet werden soll.

Weitere Maßnahmen sind Coaching und Unterstützung unerfahrener Programmierer beim Programmieren, die Verwendung von Codegeneratoren und anderen Programmierstandards sowie Verfahren zur Strukturverbesserung von Quellcode, zum Beispiel Refactoring. Refactoring bedeutet, vorhandenen Code strukturell zu verbessern, ohne seine äußere Funktion zu verändern.

Auch Code-Reviews dienen der Qualitätssicherung. Dabei wird Code regelmäßig geprüft, um Qualitätsprobleme zu erkennen. Zusätzlich können Softwaremetriken als Teilmaßnahme der Qualitätssicherung geführt werden.

Weiterlesen

Programmierung Beim Programmieren sind wesentliche Aspekte zur Softwarequalität zu berücksichtigen und durch die Gestaltung des Quellcodes umzusetzen. Siehe dazu als Beispiele … Quelltext Quelltext, auch Quellcode (englisch source code) oder unscharf Programmcode genannt, ist in der Informatik der für Menschen lesbare, in einer … Softwarequalität „Unter Softwarequalität versteht man die Gesamtheit der Merkmale und Merkmalswerte eines Softwareprodukts, die sich auf dessen Eignung beziehen, … Programmierstil Er gilt als Teilaspekt von Softwarequalität, der insbesondere die Verständlichkeit und Wartbarkeit von Software, dies sind Kriterien für Softwarequalität gem. Software Software ist ein Programm oder eine Menge von Programmen, die dazu dienen, einen Computer zu betreiben. · Software sind Programme sowie die zugehörige … Komplexität (Informatik) Die Komplexität eines Problems ist zum Beispiel entscheidend für die Kryptographie und insbesondere für die asymmetrische Verschlüsselung: So verlässt sich … Code-Smell Unter dem Begriff sollten handfestere Kriterien für Refactoring beschrieben werden, als das durch den vagen Hinweis auf Programmästhetik geschehen würde. Bei … Testgetriebene Entwicklung Das Refactoring, also das Aufräumen im Code, führt zu weniger Fehlern; weil man dabei in kleinen Schritten vorgeht und stets entlang bestandener Tests … Softwareentwickler Ein Softwareentwickler (englisch software developer) ist eine Person, die an der Erstellung und Weiterentwicklung einer Software mitwirkt. Refactoring Refactoring ist ein zentraler Bestandteil der Agilen Softwareentwicklung. Dort wird meist von „kontinuierlichem“ Refactoring oder „kompromisslosem“ Refactoring …