Refactoring -- Wie Sie das Design bestehender Software verbessern
Umfassend überarbeitete und aktualisierte Neuauflage des Standardwerks in vollständig neuer Übersetzung Verbesserungsmöglichkeiten von bestehender Software anhand von Code-Smells erkennen und Code effizient überarbeiten Umfassender Katalog von Refactoring-Methoden mit Code-Beispielen in JavaScript S...
Main Author: | |
---|---|
Format: | eBook |
Language: | German |
Published: |
[Place of publication not identified]
Mitp Verlag
2020
|
Subjects: | |
Online Access: | |
Collection: | O'Reilly - Collection details see MPG.ReNa |
Table of Contents:
- Cover
- Titel
- Impressum
- Inhaltsverzeichnis
- Vorwort zur ersten Auflage
- Über den Fachkorrektor der deutschen Ausgabe
- Einleitung
- Was ist Refactoring?
- Worum geht es in diesem Buch?
- Wer sollte dieses Buch lesen?
- Von anderen geschaffene Grundlagen
- Danksagungen
- Kapitel 1: Refactoring: Ein erstes Beispiel
- 1.1 Der Ausgangspunkt
- 1.2 Anmerkungen zum ersten Programm
- 1.3 Der erste Schritt des Refactorings
- 1.4 Aufteilung der statement-Funktion
- 1.4.1 Entfernen der Variable play
- 1.4.2 Extrahieren der Berechnung von Treuepunkten
- Includes bibliographical references
- Kapitel 2: Prinzipien des Refactorings
- 2.1 Refactoring: Definition
- 2.2 Die beiden Hüte
- 2.3 Gründe für ein Refactoring
- 2.3.1 Refactoring verbessert das Design der Software
- 2.3.2 Refactoring macht Software besser verständlich
- 2.3.3 Refactoring hilft mir, Bugs aufzuspüren
- 2.3.4 Refactoring hilft mir, schneller zu programmieren
- 2.4 Der richtige Zeitpunkt für ein Refactoring
- 2.4.1 Vorbereitendes Refactoring: Hinzufügen eines Features vereinfachen
- 2.4.2 Refactoring zwecks Verbesserung der Verständlichkeit des Codes
- 2.4.3 Refactoring als Abfallentsorgung
- 1.4.3 Entfernen der Variable format
- 1.4.4 Entfernen der Gesamtzahl der Treuepunkte
- 1.5 Status: Eine Menge verschachtelter Funktionen
- 1.6 Die Phasen Berechnung und Formatierung voneinander trennen
- 1.7 Status: Aufgeteilt in zwei Dateien (und Phasen)
- 1.8 Neuorganisation der Berechnungen nach Art
- 1.8.1 Berechnen der Kosten einer Vorstellung
- 1.8.2 Funktionen in die Klasse verschieben
- 1.8.3 Polymorphes Verhalten der Klasse PerformanceCalculator
- 1.9 Status: Erzeugen der Daten mit der polymorphen Klasse PerformanceCalculator
- 1.10 Abschließende Überlegungen
- 2.10 Automatisiertes Refactoring
- 2.11 Weiterführende Literatur
- Kapitel 3: Code-Smells: Schlechte Gerüche im Code
- 3.1 Rätselhafte Bezeichnung
- 3.2 Redundanter Code
- 3.3 Lange Funktion
- 3.4 Lange Parameterliste
- 3.5 Globale Daten
- 3.6 Veränderliche Daten
- 3.7 Divergierende Änderungen
- 3.8 Chirurgie mit der Schrotflinte
- 3.9 Feature-Neid
- 3.10 Datenklumpen
- 3.11 Obsession für elementare Datentypen
- 3.12 Wiederholte switch-Anweisungen
- 3.13 Schleifen
- 3.14 Träges Element
- 3.15 Spekulative Generalisierung
- 3.16 Temporäres Feld
- 3.17 Mitteilungsketten
- 2.4.4 Geplantes Refactoring und spontanes Refactoring
- 2.4.5 Langfristiges Refactoring
- 2.4.6 Refactoring beim Code-Review
- 2.4.7 Wie sag ich's meinem Chef?
- 2.4.8 Wann sollte man kein Refactoring durchführen?
- 2.5 Probleme beim Refactoring
- 2.5.1 Verlangsamung der Entwicklung neuer Features
- 2.5.2 Code-Eigentümerschaft
- 2.5.3 Entwicklungszweige
- 2.5.4 Testen
- 2.5.5 Legacy Code
- 2.5.6 Datenbanken
- 2.6 Refactoring, Architektur und Yagni
- 2.7 Refactoring und der Softwareentwicklungsprozess
- 2.8 Refactoring und Performance
- 2.9 Ursprünge des Refactorings