Buchtipps

The Mikado Method

Ola Ellnestam, Daniel Brolund

[(The Mikado Method)] [ By (author) Ola Ellnestam, By (author) Daniel Brolund ] [March, 2014]

Die Mikado Methode ist für mich der Schlüssel zu komplexen Refactorings. Diese zeichnen sich dadurch aus, dass ich sie nicht mehr vollständig mit einem Refactoring Werkzeug durchführen kann. Ich muss selbst Hand anlegen und den Code im Editor umstrukturieren. Das birgt das Risiko, etwas kaputt zu machen. Es zeigt sich ein Dilemma: um die komplexen Refactorings durchzuführen, muss ich Tests ergänzen. Um Tests ergänzen zu können, muss ich komplexe Refactorings durchführen.

Das Buch stellt eine Methode dar, die nicht auf Analyse sondern auf Experimenten beruht. Diese Experimente werden direkt auf der Codebasis ausgeführt. Das Ziel: Erkenntnisse gewinnen. Die Erkenntnisse werden als sogenannter Mikado Graph notiert. Anschließend werden die Änderungen mit Hilfe der Versionskontrolle wieder rückgängig gemacht. Damit befindet sich die Codebasis immer in einem stabilen und bekannten Zustand. Mit dem erstellten Mikado Graph können die Änderungen dann Schritt für Schritt durchgeführt werden. So ist kein Branching erforderlich, sondern die Refactoring Schritte werden jeweils auf dem Trunk ausgeführt.

Wer mit Legacy Code zu tun hat, sollte das Buch unbedingt gelesen haben.

Die eBook Version gibt es direkt beim Verlag.

Working Effectively With Legacy Code

Michael Feathers

Working Effectively with Legacy Code (Robert C. Martin Series)

Deutsche Übersetzung: Effektives Arbeiten mit Legacy Code.

Effektives Arbeiten mit Legacy Code. Refactoring und Testen bestehender Software

Ein Klassiker zum Thema Legacy Code. Das Buch von Michael Feathers enthält viele Beispiel zum Umgang mit Legacy Code, insbesondere zur Frage, wie dieser Code mit automatisierten Tests versehen werden kann, ohne die Funktionalität dadurch zu gefährden. Die Beispiele liegen in diversen Programmiersprachen vor.

Dieser Klassiker sollte ebenfalls im Regal jedes Entwickler stehen bzw. im Speicher des eBook-Readers der Wahl liegen. Die Kindle Version gibt es direkt bei Amazon.

Refactoring: Improving the Design of Existing Code

Martin Fowler

Refactoring: Improving the Design of Existing Code (Object Technology Series)

Das Buch von Martin Fowler ist so etwas wie der Refactoring Katalog. Es enthält alle wichtigen Refactorings und beschreibt, wie diese durchzuführen sind. Ferner wird dargestellt, wann die einzelnen Refactorings durchzuführen sind.

Das Buch beschriebt die eher technische Seite des Refactorings. Wer auf der Suche ist nach einer Beschreibung der möglichen Refactorings, wird hier fündig. Nach meiner Ansicht sollte jeder Entwickler den grundlegenden Katalog von Refactorings kennen. Dazu kann das Buch wunderbar verwendet werden.

Refactoring to Patterns

Joshua Kerievsky

Refactoring to Patterns

In diesem Buch schlägt der Autor die Brücke zwischen Patterns und Refactorings. Der Autor stellt dar, wie man Code mit Hilfe von Refactorings von einem Entwurfsmuster zum anderen transformieren kann. Ähnlich wie Fowlers Refactoring Buch empfehle ich jedem Entwickler, sich mit dem Material auseinanderzusetzen. Es schafft die technische Basis, auf der komplexe Refactorings mit der Mikado Methode durchgeführt werden können.