Suchresultate laden...

Previon Buchtipp: Clean Code – A Handbook of Agile Software Craftsmanship von Robert C. Martin

Riccardo Previti
Web Developer
Buchtipp Riccardo Previti
Codequalität kann man von den lesenden Entwickler*innen an ihren «What the F***s» pro Minute ableiten. Es können viel Aufwand und Ärger erspart bleiben, wenn für Code gewisse Qualitätsstandards gelten. Uncle Bob erklärt in «Clean Code», was wir in der Schule oder im Studium von Anfang an hätten lernen sollen.

Was verspricht das Buch?

Clean Code befasst sich mit dem gesamten Lebenszyklus einer Software. Ähnlich wie bei Maschinen und Gebäuden liegt oft 80% des Aufwands im Unterhalt. Bei Softwareprodukten bedeutet Unterhalt, Bugs zu entfernen und Erweiterungen hinzuzufügen.

Code Style korreliert stark mit der Bug-Dichte. Die Codequalität kann man von den lesenden Entwickler*innen an ihren «WTFs» pro Minute ableiten. Es können viel Aufwand und Ärger erspart bleiben, wenn für Code gewisse Qualitätsstandards gelten. Auch schlecht geschriebener Code funktioniert, kann aber mittel- und langfristig auch grössere Unternehmen in die Knie zwingen.

Wird dies erreicht?

Ja.

Wenn ja, wie?

Die Rolle der Entwickler*innen und wo ihre Verantwortung liegt wird so erklärt, wie wir das in der Schule oder im Studium eigentlich von Anfang an hätten lernen sollen. 

Es liegt an uns Entwickler*innen, den Code so zu verteidigen wie die Projektleiter ihren Projektplan verteidigen. Professionalität zeigt sich unter anderem darin, sich nicht durch Druck von Managern zu unsauberem Code korrumpieren zu lassen.

Bei der Umsetzung eines Features wird meist erst getüftelt und Code geschrieben, der funktioniert. Erst danach kümmert man sich darum, wie man diesen besser lesbar machen kann. Dieses Aufräumen, auch «Refactoring» genannt, wird oft ausgelassen da «es ja schon funktioniert» und keine Zeit dafür bleibt. Eigentlich ist ein Code jedoch erst fertig umgesetzt, wenn er auch aufgeräumt wurde.

Das Buch ist sehr praktisch ausgelegt und in drei Teile gegliedert:

Im Ersten werden Prinzipien, Muster und Praktiken beschrieben.

Im Zweiten wird in unzähligen Beispielen Detail für Detail auseinander genommen und erklärt, wie es sich auf die Gesamtqualität auswirkt. Der Fokus von Code liegt auf der Lesbarkeit des Geschriebenen. Es ist recht aufwändig, sich durch die Beispiele zu arbeiten, aber wenn sie es ernst nehmen, können Entwickler*innen sowie ihre Teams extrem davon profitieren.

Im dritten Teil wird auf die Heuristiken und «Smells» eingegangen, welche in den Case Studies gesammelt wurden. Hier liegt die kondensierte Erfahrung.

Professionalität zeigt sich unter anderem darin, sich nicht durch Druck von Managern zu unsauberem Code korrumpieren zu lassen.

Was qualifiziert den Autoren, über dieses Thema zu schreiben?

Uncle Bob schreibt schon seit 1970 Software. Seine unglaubliche Erfahrung, sein Witz und sein Scharfsinn machen ihn zum Urgestein und zur Entwickler-Koryphäe sowie zu einem erstklassigen internationalen Berater. Es liegt in der Natur des/der Entwickler*in, sich weiterzubilden, so wird man bei seriösen Recherchen kaum um ihn herumkommen. Er hat weitere, ergänzende Bücher geschrieben, welche auf diverse Teile des Programmierhandwerks eingehen.

Wie ist der Ton des Buches?

Der Humor, die Nerdiness und die erfrischende Ehrlichkeit machen die Texte an sich sehr angenehm zu lesen. Aber trotz häufigem Schmunzeln und Nicken ist das Buch sehr dicht gepackt mit Information. Überfliegt man die Zeilen nur, droht, dass kaum etwas hängen bleibt.

Dieses Buch ist ein lesbarer Workshop, mit Betonung auf «Work».

Dieses Buch ist ein lesbarer Workshop, mit Betonung auf «Work». Der Inhalt ist so wichtig und relevant, dass dieser eigentlich in den Berufsschulen und Universitäten ein eigenes Modul sein sollte. Ich bin überzeugt, dass ein intensives Auseinandersetzen mit der Kunst des Programmierens nicht an diesem Buch vorbeiführt. Auch wenn es sich garantiert auszahlt, ist viel Fleiss gefragt, um das Gelesene in die Praxis zu bringen.

Wurde das Buch so geschrieben, dass man sich als Leser*in damit identifizieren kann?

Jede/r Entwickler*in wird sich schon nach wenigen Jahren Berufserfahrung beim Lesen sehr schnell mit den vom Autor präsentierten Situationen identifizieren können. Uncle Bob dient vielen jungen Entwickler*innen fachlich als Vorbild.

Ist das Buch sauber recherchiert? Gibt es ein Quellenverzeichnis?

Das Buch ist sauber recherchiert. Die Quellen sind jedoch nicht Studien oder andere harte wissenschaftliche Fakten, sondern das Gespräch und die Erfahrung von jenen wenigen Personen, welche in diesem Handwerk schon seit 50 Jahren zahllose Erfolge und Misserfolge verzeichnen konnten. Diese Personen werden kurz porträtiert und am Ende jedes Kapitels findet sich eine kleine Bibliographie.

Welchen Teil des Buches findest du am besten?

Ich finde im ersten Teil gut, das Entwickler*innen sich ihrer Rolle und Verantwortung bewusst gemacht werden. Anschliessend wird auf Details eingegangen. Dabei haben mir vor allem die ersten Kapitel zu Benennung, Funktionen, Kommentaren und Formatierung von Code gefallen, da diese sofort ihre Relevanz für meinen Berufsalltag erwiesen.

Welchen am wenigsten?

Als Webentwickler haben viele Java-spezifischen Inhalte wenig direkte Relevanz für mich. Auch dort gibt es viel zu lernen, auch für Nicht-Java-Entwickler. Für Fachpersonen, die an kleineren Projekten arbeiten, gehen die hinteren Kapitel vielleicht etwas weit.

Wenn du etwas ändern könntest, was wäre es?

Ich würde an diesem Buch nichts ändern. Eher würde ich für die Zielgruppe der Webentwickler*innen ein zweites, leichtgewichtigeres Buch schreiben.

Alle am Entwicklungsprozess beteiligten Fachpersonen können von dieser Lektüre profitieren.

Warum würdest du dieses Buch empfehlen?

Weil ich schon zu viel Zeit meines Lebens damit verloren habe, unnötig schlechte Codes zu schreiben und zu verstehen zu versuchen. Wenn ein Team gemeinsam diesen Weg geht, kann die Lebensqualität aller verbessert werden. Hierzu müssen sich jedoch die Einzelnen damit auseinandersetzen.

Welchen Leser*innen würdest du das Buch empfehlen?

Alle am Entwicklungsprozess beteiligten Fachpersonen können von dieser Lektüre profitieren. Für jene, die nicht selber coden, reicht wohl auch der erstaunlich lustige Videokurs.

Welche Bewertung gibts du «Clean Code»?

Das Buch ist von 2009, jedoch sind die Inhalte unverderblich. Auch wenn man nicht Java-Entwickler*in ist, so sind die Eigenschaften von Code doch meistens gleich. Das Lesen macht Spass, sich die Inhalte zu verinnerlichen ist jedoch Arbeit. Wie das Üben oder Trainieren kann dies jedoch nicht abgenommen werden.

Ich gebe 4 Raketen für den Inhalt. Eine Rakete Abzug dafür, dass es anstrengend ist und nicht auf meine spezifischen Bedürfnisse als Webingenieur eingeht.

5 Raketen gibt es für den Schreibstil, da der Uncle es geschafft hat, einem doch sehr trockenen Inhalt geschmackvollen «Juice» zu verleihen. 

Insgesamt 5 Raketen, weil jeder mit Code arbeitende Mensch garantiert davon profitieren würde, seine Nase in dieses Buch zu stecken.

Inhalt
Schreibstil
Gesamtbewertung