Zum Inhalt springen

Clean Code

aus Wikipedia, der freien Enzyklopädie

Clean Code ist ein Begriff aus der Softwaretechnik, der durch das gleichnamige Buch von Robert Cecil Martin populär wurde. Als „sauber“ (clean) bezeichnen Softwareentwickler in erster Linie Quellcode, aber auch Dokumente, Konzepte, Regeln und Verfahren, die intuitiv verständlich programmiert bzw. konzipiert sind. Vorteile von Clean Code sind stabilere und effizient wartbare Programme, was in einer kürzeren Entwicklungszeit bei Funktionserweiterungen und Fehlerbehebungen resultiert. Vor dem Gesichtspunkt, dass im Schnitt 70–80 % der Lebensdauer einer Software in den Wartungszeitraum fällt<ref>Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.</ref><ref>Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.</ref>, erhält die Einhaltung von Clean Code-Prinzipien zur Verbesserung der Leserlichkeit und Verständlichkeit besondere Relevanz.

Schwierigkeiten beim Entwickeln von Clean Code liegen

  1. häufig in zunächst unklaren oder sich widersprechenden Anforderungen,
  2. zum Teil begründet im Fehlen von Erfahrung im Entwickeln von Clean Code,
  3. im Mangel an Disziplin beim Programmieren und
  4. im Aufwand nachträglicher Quellcode-Bereinigungen (dem sog. Refactoring).

Die Notwendigkeit, Code noch nach der Entwicklung von „unsauberen“ Stellen zu reinigen, wird häufig nicht gesehen oder vom Management nicht bewilligt, sobald das Programm seine vorgesehene Funktion ausübt. Ein direktes Schreiben von „sauberem“ Code ist nahezu unmöglich, kann jedoch durch den bewussten Umgang mit den Prinzipien und Praktiken von Clean Code verbessert werden.

Eng verbunden mit dem Begriff Clean Code sind Maßnahmen, die bei der Entwicklung von Software zu „sauberem“ Programmcode führen. So zahlreich wie die Gründe für „unsauberen“ Code sind, so vielfältig sind auch die vorgeschlagenen Regeln in den aufgestellten Maßnahmenkatalogen. Dazu gehören:

Darüber hinaus gibt es seit einigen Jahren eine Clean-Code-Developer-Bewegung, die das Ziel verfolgt, ein einheitliches und umfassendes Regelwerk auf eine didaktisch ansprechende Weise in das Bewusstsein der Entwickler zu rücken und damit die Disziplin zu fördern, die Clean-Code-Maßnahmen im Programmieralltag auch tatsächlich anzuwenden. Als Maßnahme, diese Vorgehensweise zu üben, werden Katas vorgesehen.

Weitere Maßnahmen[Bearbeiten]

  • Don’t repeat yourself (wiederhole dich nicht) – Wenn Code nicht mehrfach geschrieben wird, erhöht sich die Wartbarkeit, da nur an einer Stelle eine Änderung umgesetzt werden muss. Es können also keine Fehler entstehen, dadurch dass vergessen wird Quelltextklone ebenfalls anzupassen, weil es diese nicht gibt.
  • Konvention vor Konfiguration
  • Principle of Least Surprise (Prinzip der geringsten Überraschung) – Ein Prinzip, dass sowohl auf die Gestaltung der UI als auch auf den Code selbst, z. B. Benennung von Variablen angewendet werden kann.
  • YAGNI (You Ain’t Gonna Need It) – Wird beim Schreiben vom Code an etwaige zukünftige Features gedacht und der Code unnötig komplexer entworfen, kann er dadurch schlechter wartbar werden.

Entwurfsmuster für Klassen[Bearbeiten]

Siehe auch[Bearbeiten]

Literatur[Bearbeiten]

  • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
  • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
  • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
  • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
  • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.

Weblinks[Bearbeiten]

  • Homepage der Clean-Code-Developer-Initiative
  • Homepage mit allen CleanCode Prinzipien
  • Google Group: Clean Code Developer
  • Urs Enzler: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. (PDF) Ehemals im Vorlage:Referrer (nicht mehr online verfügbar);Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.
  • Steven C. McConnell: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. (PDF) Ehemals im Vorlage:Referrer (nicht mehr online verfügbar);Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.

Einzelnachweise[Bearbeiten]

<references />