Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Clean Code

Clean Code ist ein Begriff aus der Softwaretechnik, der durch das gleichnamige Buch von Robert Cecil Martin populär wurde. Als „sauber“ (clean) bezeichnen …

Inhalt3 Abschnitte
  1. 1. Bedeutung und Nutzen
  2. 2. Herausforderungen und allgemeine Vorgehensweisen
  3. 3. Weitere Regeln und Klassenprinzipien

Bedeutung und Nutzen

Clean Code bezeichnet in der Softwaretechnik Quellcode, aber auch Dokumente, Konzepte, Regeln und Verfahren, die intuitiv verständlich programmiert oder konzipiert sind. Der Begriff wurde durch das gleichnamige Buch von Robert Cecil Martin populär.

Ziel ist, Programme stabiler und effizienter wartbar zu machen. Dadurch können Funktionserweiterungen und Fehlerbehebungen weniger Entwicklungszeit beanspruchen. Da im Schnitt 70–80 % der Lebensdauer einer Software in den Wartungszeitraum fallen, sind Leserlichkeit und Verständlichkeit besonders wichtig.

Herausforderungen und allgemeine Vorgehensweisen

Clean Code ist schwierig, wenn Anforderungen zunächst unklar sind oder sich widersprechen. Weitere Gründe sind fehlende Erfahrung, mangelnde Disziplin beim Programmieren und der Aufwand für nachträgliche Bereinigungen des Quellcodes, das sogenannte Refactoring.

Oft wird eine Reinigung unsauberer Stellen nicht als nötig angesehen oder vom Management nicht bewilligt, sobald ein Programm seine vorgesehene Funktion erfüllt. Direkt sauberen Code zu schreiben, ist nahezu unmöglich. Ein bewusster Umgang mit Prinzipien und Praktiken kann dies jedoch verbessern.

Zu den Maßnahmen gehören Quelltextformatierung (code conventions), Entwurfsmuster (design patterns), Konvention vor Konfiguration sowie zahlreiche Vorschläge aus Robert C. Martins Buch. Die Clean-Code-Developer-Bewegung will ein einheitliches, umfassendes Regelwerk didaktisch vermitteln und die Disziplin zur Anwendung im Programmieralltag fördern. Zum Üben dieser Vorgehensweise sind Katas vorgesehen.

Weitere Regeln und Klassenprinzipien

Don’t repeat yourself bedeutet, Code nicht mehrfach zu schreiben. Änderungen müssen dann nur an einer Stelle umgesetzt werden; Fehler durch vergessene Anpassungen von Quelltextklonen können nicht entstehen.

Konvention vor Konfiguration zählt ebenfalls zu den Maßnahmen. Das Principle of Least Surprise, das Prinzip der geringsten Überraschung, kann sowohl für die Gestaltung einer UI als auch für den Code gelten, etwa bei der Benennung von Variablen. YAGNI („You Ain’t Gonna Need It“) warnt davor, wegen möglicher zukünftiger Features unnötig komplexen Code zu entwerfen, da dies die Wartbarkeit verschlechtern kann.

Für Klassen werden das Gesetz von Demeter (Law of Demeter) und das Single-Responsibility-Prinzip als Entwurfsmuster genannt.

Weiterlesen