Samstag, 11. Februar 2012


Buch-Tipp

Beautiful Code

(Link zum Artikel: http://www.entwickler.de/jaxenter//000701)

Leading Programmers Explain How They Think

  • Autor/in: Andy Oram, Greg Wilson
  • Verlag: O’Reilly
  • Seiten: 618
  • erschienen: 2007
  • Preis: € 43,00
  • ISBN: 9780596510046
5/10 Punkte

In "Beautiful Code" präsentieren Andy Oram und Greg Wilson 33 Beiträge von anerkannten Softwareentwicklern. Jeder dieser Entwickler hatte die Aufgabe, ein Stück Code zu beschreiben, das seiner Meinung nach so gut gelungen war, dass man es als "schönen Code" bezeichnen kann. Und so enthält dieses Buch viele individuelle Einsichten und Ideen über interessanten Code in ganz unterschiedlichen Bereichen von Software. Karl Fogel beschreibt etwa den Delta-Editor von Subversion und das zugehörige Interface. Alberto Savoia bringt Beispiele für "schöne" Tests, z.B. mit JUnit, und Simon Peyton Jones erläutert verschiedene Aspekte gelungener Thread-Programmierung. Adam Kolawa beschäftigt sich mit dem Thema, welche langfristigen Vorteile "schönes" Design bringt. All diese Geschichten erzählen gut, was sich die Softwareentwickler dachten, als sie den Code entwickelten, und als solche können sie informativ und hilfreich für den Leser sein.

Was in diesem Buch allerdings völlig fehlt, ist eine Begriffsklärung: was versteht man eigentlich unter "schönem" Code im Unterschied zu "hässlichem" Code, und was ist eigentlich "sauberer" und was "schmutziger" Code? Gibt es hier Unterschiede, etwa dass "Sauberkeit" sich eher auf die Lesbarkeit und Wartbarkeit von Code bezieht, während "Schönheit" eher etwas mit dem ästhetischen Wert von Code zu tun hat? Und wie erkennt man nun "schönen" Code? In einem Interview antwortet einer der beiden Herausgeber auf die Frage, was denn nun schöner Code sei, dass man das Buch lesen solle. Ob das ausreicht, darf bezweifelt werden. Es geht in diesem Buch also nur selten darum, woran man "schönen" Code erkennt, wie dieser Begriff überhaupt definiert wird, und was man – etwa als Java-Entwickler – tun kann oder soll, um "schönen" Code zu entwickeln. Und es bleibt auch die Frage völlig offen, warum man dies überhaupt tun sollte.

Außerdem sind die meisten Beispiele wohl nur für gute und erfahrene Entwickler gedacht. Anfänger oder jene, die praktische Hinweise suchen, werden enttäuscht. "Beautiful Code" ist keine Anleitung, um besseren Code zu entwickeln. Die aktuelle Praxis der Softwareentwicklung wird zudem in den meisten Projekten gekonnt ignoriert, in denen es wohl nicht um "Schönheit" geht, sondern darum, Geld zu verdienen oder Arbeitsplätze zu sichern.

Dieses Buch ist eine gute Grundlage für anregende Diskussionen über "guten" Code, Schönheit und wahrscheinlich auch Qualität von Software. Alles in allem stellt das Buch eine interessante Sammlung von Anregungen und Informationen für gute Softwareentwickler dar. Schönheit liegt allerdings noch immer im Auge des Betrachters, und so mancher Entwickler wäre wohl inzwischen gut beraten, wenn er zunächst Augenmerk darauf legt, dass sein Code überhaupt funktioniert und einigermaßen lesbar ist, bevor er sich diskussionswürdigen ästhetischen Kriterien widmet.

von Thomas Eichberger

Kommentare