Effektives Arbeiten mit Legacy Code

Refactoring und Testen bestehender Software

Michael C. Feathers

Cite this publication as

Michael C. Feathers, Effektives Arbeiten mit Legacy Code (2018), mitp-Verlag, Frechen, ISBN: 9783958459021

1759
accesses
43
quotes

Description / Abstract

Legacy Code steht für Software ohne Tests und einen großen Haufen chaotischer Code, der irgendwie funktioniert, aber keiner weiß wieso. Fast jede Firma arbeitet mit veraltetem Code, der nicht mehr gut läuft oder Performance-Probleme mit sich bringt. Michael Feathers zeigt Software-Entwicklern in diesem Buch, wie sich aus altem Code mehr Performance und Zuverlässigkeit herausholen lässt und wie dieser besser handhabbar wird. Der Leser lernt, wie Software so verändert und Features hinzugefügt werden, dass sie dadurch nicht schlechter wird und wie man Tests schreibt, die vor neuen Problemen schützen. Die Techniken sind für jede Programmiersprache anwendbar, die Beispiele im Buch sind in Java, C++, C und C#.

Description

Michael C. Feathers arbeitet bei Object Mentor Inc. und gibt zahlreiche Schulungen für Refactoring, Objektorientiertes Design uvm.

Table of content

  • Cover
  • Titel
  • Impressum
  • Inhaltsverzeichnis
  • Vorwort
  • Geleitwort
  • Danksagungen
  • Einführung - Wie man dieses Buch lesen sollte
  • Teil I: Wie Wandel funktioniert
  • Kapitel 1: Software ändern
  • Kapitel 2: Mit Feedback arbeiten
  • Kapitel 3: Überwachung und Trennung
  • Kapitel 4: Das Seam-Modell
  • Kapitel 5: Tools
  • Teil II: Software ändern
  • Kapitel 6: Ich habe nicht viel Zeit und ich muss den Code ändern
  • Kapitel 7: Änderungen brauchen eine Ewigkeit
  • Kapitel 8: Wie füge ich eine Funktion hinzu?
  • Kapitel 9: Ich kann diese Klasse nicht in einen Test-Harnisch einfügen
  • Kapitel 10: Ich kann diese Methode nicht in einem Test-Harnisch ausführen
  • Kapitel 11: Ich muss eine Änderung vornehmen. Welche Methoden sollte ich testen?
  • Kapitel 12: Ich muss in einem Bereich vieles ändern. Muss ich die Dependencies für alle beteiligten Klassen aufheben?
  • Kapitel 13: Ich muss etwas ändern, weiß aber nicht, welche Tests ich schreiben soll
  • Kapitel 14: Dependencies von Bibliotheken bringen mich um
  • Kapitel 15: Meine Anwendung besteht nur aus API-Aufrufen
  • Kapitel 16: Ich verstehe den Code nicht gut genug, um ihn zu ändern
  • Kapitel 17: Meine Anwendung hat keine Struktur
  • Kapitel 18: Der Test-Code ist im Weg
  • Kapitel 19: Mein Projekt ist nicht objektorientiert. Wie kann ich es sicher ändern?
  • Kapitel 20: Diese Klasse ist zu groß und soll nicht noch größer werden
  • Kapitel 21: Ich ändere im ganzen System denselben Code
  • Kapitel 22: Ich muss eine Monster-Methode ändern und kann keine Tests dafür schreiben
  • Kapitel 23: Wie erkenne ich, dass ich nichts kaputtmache?
  • Kapitel 24: Wir fühlen uns überwältigt. Es wird nicht besser.
  • Teil III: Techniken zur Aufhebung von Dependencies
  • Kapitel 25: Techniken zur Aufhebung von Dependencies
  • Anhang A: Refactoring
  • A.1 Extract Method
  • Anhang B: Glossar
  • Stichwortverzeichnis

More of this series

    Related titles

      More of this author(s)