Clean Code – Refactoring, Patterns, Testen und Techniken für sauberen Code

von Robert C. Martin

In diesem Klassiker der Softwareentwicklungs-Bücher geht es, wie der Name schon sagt, um sauberen Code: Code, der nicht nur funktioniert, sondern vor allem gut lesbar und wartbar ist.

Dazu gehören u. a.

  • aussagekräftige Namen,
  • kurze Funktionen, die eine (und nur eine) Aufgabe auf einer einheitlichen Abstraktionsebene ausführen,
  • aussagekräftige (oder gar keine) Kommentare (im Gegensatz zu solchen, die bloß wiederholen, was der Code tut, oder – schlimmer noch – was er früher einmal getan hat),
  • ein konsistenter Code-Stil,
  • eine saubere Klassenstruktur (dieser Punkt wird ausführlicher behandelt im zuvor vorgestellten "Agile Software Development: Principles, Patterns, and Practices")
  • eine Fehlerbehandlung, die die eigentliche Businesslogik nicht verschleiert,
  • Unit-Tests, optimalerweise testgetrieben entstanden.

Die vorgestellten Prinzipien werden anhand mehrerer konkreter Java-Fallstudien erläutert.

Das Buch ist einfach zu verstehen und durch eingestreute Anekdoten unterhaltsam zu lesen. Jeder Entwickler sollte dieses Buch lesen und sich die vorgestellten Prinzipien in Fleisch und Blut übergehen lassen.

Das Kapitel über Concurrency ist leider stark vereinfacht darstellt (ohne auf diese Tatsache hinzuweisen). Moderne Optimierungen wie Instruction Reordering und CPU-Cache-Effekte, werden nicht angesprochen. So kann sich der Leser nach Lektüre dieses Kapitels schnell in trügerischer Sicherheit wähnen und subtile Bugs produzieren, die im Nachhinein nur sehr schwer zu finden sind.

Um Sicherheit im Umgang mit Concurrency zu gewinnen, lege ich jedem Java-Entwickler Brian Goetz' "Java Concurrency in Practice" ans Herz.

Zum Schluss noch ein persönlicher Tipp zum Thema Code Style: Erfindet keinen eigenen Style. Erspart euch die zahllosen Diskussionen im Team und nehmt stattdessen einen existierenden, möglichst weit verbreiteten Stil, für den es Dokumentation, Checker, Formatierer und IDE-Plugins gibt. Ein gutes Beispiel ist Google’s Java Style Guide und die zugehörigen Tools.

🎧 Geeignet als Hörbuch? Nein! Auch wenn es dieses Buch unerklärlicherweise als Hörbuch gibt, ist es aufgrund der zahlreichen Code-Beispiele nicht als solches geeignet.

Andere Empfehlungen aus den Genres dieses Buches

* Hinweis: Wir teilen gerne unsere Lieblingsbücher mit dir! Als Amazon-Partner verdienen wir eine kleine Provision bei Einkäufen, die du über unsere Links tätigst. Dies hilft uns, weiterhin Inhalte zu erstellen, die dir gefallen.