Der Artikel ist von http://daraff.ch - Ich schreibe regelmässig über Themen der Softwareentwicklung.
Rezension
---------
Nachdem ich zu ende des letzten Jahres in einen Bücher-Einkauf-Wahn verfallen bin, habe ich doch immerhin schön brav die Bücher durchgeackert und möchte nun meine erste Buchrezension schreiben.
Es handelt sich dabei um Clean Code von Robert C. Martin. Als ich die ersten Seiten des Buches gelesen habe, habe ich bereits meine ersten Erkenntnisse in einem Blogeintrag niedergeschrieben.
Einführung
Im ersten Kapitel nimmt Robert C. Martin kein Blatt vor den Mund. Er beschreibt sehr schön, wie schnell die Spezies Softwareentwickler die Schuld von schlechtem Code auf andere abschiebt (Zeitmangel, Chef usw.). Wir sind aber schliesslich die Profis und sollten dementsprechend unser Werk verteidigen.
Er beschreibt auch, warum wir uns so verhalten und warum es so schwierig ist guten Code zu schreiben. Erstens ist den meisten gar nicht bewusst, dass guter und sauberer Code längerfristig enorm wichtig ist und zweitens wissen viele auch gar nicht, was sauberer Code ist.
Wie mache ich es richtig
In den nächsten Kapitel beschreibt Martin sehr detailliert wie man es richtig macht.
Wie wählt man aussagekräftige Namen für Variablen, Methoden usw.
Wie sollten Funktionen strukturiert sein (Grösse, Komplexität usw.)
Was sind gute und was sind schlechte Kommentare
Wie sollte man seinen Code formatieren
Der Umgang mit Objekten und Datenstrukturen
Wie sollte man Error Handling anwenden
Wie sollte man Schnittstellen verwenden
Wie sollte man Klassen aufbauen
Wie baut man ganze Softwaresysteme
Warum benötigt man Unit Tests
Martin drückt auch klar aus, dass saubere Namensgebung, Unit Testing und Refactoring die zentralen Erfolgsrezepte für gute und vor allem langlebige Software sind.
Refactoring
Bis jetzt konnte man nur konsumieren. Im nächsten Teil des Buches muss man aber selber mitdenken. Martin beschreibt Schritt für Schritt, wie er Klassen von bekannten Projekten "refaktorisiert". Dieser Teil bringt einem nur dann etwas, wenn man sich intensiv mit dem abgedruckten Code beschäftigt.
Code Smells
Im letzten Teil des Buches fasst Martin nochmals alle Code Smells (Dinge, die Code schlecht machen) zusammen, welche man während der ganzen Zeit erarbeitet hat.
Mein persönliches Fazit
Für mich ist dieses Buch unglaublich wertvoll. Im ersten Teil wurde mir bewusst gemacht, warum wir als Entwickler so reagieren, wie wir es tun. Und danach wird schön beschrieben, wie man es richtig macht.
Ich wusste immer, dass etwas falsch läuft beim programmieren und das ich bzw. meine Kollegen unsauberen Code schreiben. Nun kann ich endlich sagen, was es ist und wie man es besser macht. Das hilft auch bei Diskussionen mit Kollegen, wenn man ihren Code begutachtet und begründen kann, warum ihr Code nicht so "optimal"