Refactoring: Verbesserung bestehenden Codes
448 Seiten
German
PDF
4.5

Refactoring: Verbesserung bestehenden Codes

Refactoring: Verbesserung bestehenden Codes

Autor:

Jahr:

Zusammenfassung:

Einleitung

Das Buch „Refactoring: Improving the Design of Existing Code“ (auf Deutsch: „Refactoring: Verbesserung des Designs bestehenden Codes“) von Martin Fowler ist ein klassischer Leitfaden, wie man schlecht geschriebenen, unübersichtlichen Code in sauberen, wartbaren und erweiterbaren Code verwandelt. Erstmals 1999 veröffentlicht, hat das Buch die Zeit überdauert und 2018 erschien die zweite Auflage, aktualisiert mit modernen Praktiken und der Sprache Java. Auf der Bildungswebsite PythonLib empfehlen wir dieses Buch allen, die nicht nur Code schreiben, sondern ihn gut schreiben wollen.

Worum geht es in diesem Buch?

Das Buch widmet sich dem Prozess des Refactorings – der systematischen Änderung der internen Struktur von Code, ohne sein externes Verhalten zu verändern. Fowler erklärt, warum Refactoring wichtig ist, wann es angewendet werden sollte und wie man es sicher durchführt. Die Grundidee: Code sollte nicht nur funktionieren, sondern auch für andere Entwickler (und für einen selbst nach einem halben Jahr) verständlich sein.

Die zweite Auflage umfasst:

  • Aktualisierte Beispiele in Java (unter Verwendung moderner Sprachfunktionen wie Lambdas und Stream API);
  • Einen Katalog mit über 60 Refactoring-Techniken mit detaillierten Beschreibungen und Beispielen;
  • Kapitel über „Code Smells“ – Anzeichen dafür, dass Code verbessert werden muss;
  • Praktische Ratschläge zur Integration von Refactoring in den Entwicklungsprozess.

Für wen ist dieses Buch?

Das Buch ist nützlich für:

  • Anfängende Entwickler, die von Anfang an lernen möchten, sauberen Code zu schreiben;
  • Erfahrene Programmierer, die mit Legacy-Code konfrontiert sind und nicht wissen, wie sie ihn verbessern können;
  • Teamleiter und Architekten, die eine Kultur des Refactorings im Team etablieren möchten;
  • Studierende, die Programmierung lernen und verstehen wollen, wie man flexible Systeme entwirft.

Was lernt der Leser?

Nach der Lektüre des Buches werden Sie lernen:

  • „Code Smells“ zu erkennen (Duplikate, lange Methoden, große Klassen usw.);
  • Konkrete Refactoring-Techniken anzuwenden (Extract Method, Move Field, Replace Conditional with Polymorphism und andere);
  • Tests als Sicherheitsnetz bei Änderungen zu nutzen;
  • Zu verstehen, wann Refactoring angebracht ist und wann es verfrühte Optimierung darstellt;
  • Das Design von Code zu verbessern, ohne die Funktionalität zu gefährden.

Stärken des Buches

Der Hauptvorteil des Buches ist seine praktische Ausrichtung. Jede Refactoring-Technik wird mit einem Schritt-für-Schritt-Beispiel begleitet: Es wird „schlechter“ Code gezeigt, dann der Prozess seiner Umwandlung und schließlich das „gute“ Ergebnis. Fowler verwendet eine einfache und verständliche Sprache und vermeidet übermäßige Akademisierung. Besonders wertvoll ist, dass das Buch nicht nur mechanische Handlungen lehrt, sondern auch das Denken: Wie man Entscheidungen über Refactoring trifft, wie man Risiken bewertet und wie man das Team von der Notwendigkeit von Änderungen überzeugt.

Die zweite Auflage enthält außerdem ein Kapitel über Refactoring im Kontext moderner Praktiken (Continuous Integration, TDD) und eine Diskussion darüber, wie Refactoring mit Entwurfsmustern zusammenhängt.

Wem wird es empfohlen?

Wir empfehlen dieses Buch jedem Entwickler, unabhängig vom Kenntnisstand. Wenn Sie Code in Java, C#, Python oder einer anderen objektorientierten Sprache schreiben – die Prinzipien des Refactorings sind universell. Das Buch ist eine hervorragende Ergänzung zu „Clean Code“ von Robert Martin und den „Design Patterns“ der GoF. Auf PythonLib finden Sie dieses Buch in der Rubrik „Design und Architektur“ – es ist Pflichtlektüre für alle, die nach Meisterschaft in der Programmierung streben.

Empfehlungen