Clean Code von Robert C. Martin ist ein Buch, das einem beibringen möchte, wie man „sauberen“ Code schreibt. Sauberer Code ist für ihn und seine Co-Autoren nicht nur lesbarer, sondern auch durch und durch testbarer Code, der zudem nach gewissen Prinzipien geordnet ist.
Das Buch redet nicht viel darüber, was guten Code eigentlich ausmacht. Stattdessen werden nach und nach Bereiche diskutiert, in denen man Verbesserungen in der Codequalität erzielen kann. Beispielsweise beginnt das Buch mit einem Abschnitt zur Variablen- und Methodenbenennung. Darauf werden Funktionen diskutiert usw.
Ein großes Thema des Buches ist der Ausdruck der Programmierabsicht. Das bedeutet u. a., dass man soweit wie möglich versucht, den Kontext in jeder Zeile Code zu erfassen. Erst der Kontext erschließt den Zweck einer Anweisung. Die Mittel dazu sind vor allem Namensgebung, aber auch die Verwendung von Objekten.
Ein anderes, für mich wesentliches Thema ist das der Trennung bzw. der Entkopplung von Aufgaben im Code. Beispielsweise sollen Funktionen nur „eine“ Sache auf „einer“ Abstraktionsebene erledigen. Dies steigert die Übersichtlichkeit und Testbarkeit des Codes und bietet weitere Vorteile.
Was mir manchmal gefehlt hat, waren dann doch konkrete Techniken, um die Empfehlungen umzusetzen. Es gibt allerdings auch eine Prüfliste in einem der letzten Kapitel des Buches. Um die Praktiken des Buches zu verinnerlichen, habe ich mir jedenfalls vorgenommen, den Code einiger Hobbyprojekte nach den vorgeschlagenen Prinzipien zu bereinigen. Hoffentlich bringt’s was.
Martin, Robert C., Hrsg. Clean Code: A Handbook of Agile Software Craftsmanship. Upper Saddle River, NJ: Prentice Hall, 2009.