Martin Fowler: Refactoring
Da ich gerade viel zum Thema Refactoring lese, würde ich heute gerne das Buch zu diesem Thema vorstellen. Martin Fowler hat es im Jahre 1999 geschrieben, es hat aber nie an Aktualität verloren.
Kent Beck hat Refactoring wie folgt beschrieben:
[Refactoring ist] Eine Änderung am System, die dessen Verhalten unverändert lässt, aber eine nichtfunktionale Qualität verbessert.
Ich fand diese Definition eigentlich ziemlich einprägsam und auf den Punkt gebracht. Es geht also darum, anders als beim ReFUCKtoring darum den Code zu verbessern, ihn wartbarer zu machen und frühere Designfehler auszubügeln. Jetzt aber wieder zum Buch, denn ich wollte ja eigentlich nichts über Refactoring im Allgemeinen erzählen.
Martin Fowler gliedert sein Buch in vier große Abschnitte. Im ersten Teil geht er auf Refactoring ein, beschreibt was es ist, wann man es anwenden sollte und wie man Stellen im Code findet, die eine Umstrukturierung nötig habe. Im zweiten Teil wird erläutert, wie man eine hohe Testabdeckung, die zum Refaktorisieren nötig ist aufbauen kann. Der dritte und längste Abschnitt beschreibt die einzelnen Regeln. Dabei listet er detailliert einen Regelkatalog auf. Jede Regel besteht aus einer Motivation, dem Vorgehen und einem Beispiel. Für alle, die sich unter einer solchen Regel nicht wirklich etwas vorstellen können, der kann sich zum Beispiel eine Regel „Methode extrahieren“ vorstellen, die dafür verwendet wird, zu lange Methoden in mehrere aufzusplitten. Im vierten und letzten Teil geht er auf Refactoring im großen ein und beschreibt einige Tools, die einem das Leben erleichtern.
Die Beispiele im Buch wurden zwar in Java verfasst, dies sollte aber niemanden hindern es trotzdem zu lesen, denn sie wurden auf einem sehr einfachen und leicht verständlichen Level gehalten.
Fazit: Ich kann jedem, der seine Programmierkenntnisse ein wenig verbessern will und auch mal über den Tellerrand schauen will dieses Buch nur wärmstens ans Herz legen.
PS: Das Buch hat übrigens ein Vorwort von Erich Gamma und einige Kapitel wurden zusammen mit Kent Beck geschrieben.
Vielleicht sollte man erwähnen, dass die Amazonas-Rezensionen vor der deutschen Übersetzung warnen!
Danke für den Tip, werde es mal auf meine Wunschliste setzen 🙂
5 Sterne bei 50 Rezensionen ließt sich schon ganz anders 🙂 http://www.amazon.de/Refactoring-Improving-Design-Existing-Technology/dp/0201485672/ref=sr_1_1?ie=UTF8&s=books-intl-de&qid=1227859228&sr=1-1