Der nachfolgende Text wurden mit KI erstellt und kann Fehler enthalten. Fehler gefunden? Bei GitHub editieren
Wichtige Keytakeaways
- Tidings sind kleine, risikoarme Refactorings: Sie verbessern die Lesbarkeit des Codes in begrenztem Zeitraum ohne Verhaltensänderungen und können kontinuierlich während der Entwicklung angewendet werden.
- Der Begriff “Refactoring” ist in vielen Unternehmen verbrannt: Lange Refactoring-Sprints widersprechen der ursprünglichen Definition.
- Lesbarkeit ist das zentrale Ziel: Tidings zielen primär darauf ab, Code lesbarer zu gestalten, nicht strukturelle Designänderungen vorzunehmen wie Extract Class oder Methodenverschiebungen.
- Kohäsion existiert auf mehreren Ebenen: Sie betrifft nicht nur Klassen, sondern auch Methoden und Packages – zusammengehörige Dinge sollten räumlich beisammen sein.
- Code ist eine Geschichte für Menschen: Code wird einmal geschrieben, aber oft gelesen und geändert, daher ist Lesbarkeit fundamental wichtiger als Maschinenoptimierung.
- Neue Entwickler benötigen explizite Konzepte und Vokabular: Auch wenn viele Tidings bekannt sind, ihre Benennung und explizite Katalogisierung schafft ein gemeinsames Verständnis in Teams.
Behandelte Kernfragen
- Was ist der Unterschied zwischen klassischen Refactorings und Tidings/Aufräumereien?
- Wie können Guard Clauses die Lesbarkeit von verschachteltem Code verbessern?
- Warum ist Dead Code ein Problem und wie wird er identifiziert?
- Welche Rolle spielt die Konsistenz bei der Normalisierung von Symmetrien im Code?
- Wie beeinflusst die Reihenfolge von Methoden die Verständlichkeit einer Klasse?
- Inwiefern kann die Zusammengruppierung zusammenhängender Code-Teile (Cohesion Order) die Lesbarkeit verbessern?
Glossar wichtiger Begriffe
- Refactoring: Umstrukturierung von Software durch Anwendung von Techniken, ohne das beobachtbare Verhalten der Software zu verändern.
- Guard Clauses: Ausschlussbedingungen am Anfang einer Funktion, die frühzeitig zurückkehren und die zyklomatische Komplexität reduzieren.
- Dead Code: Nicht verwendeter Code, der weiterhin in der Codebasis vorhanden ist und entfernt werden sollte.
- Cohesion: Das Maß, in dem zusammenhängende Elemente (Methoden, Variablen) räumlich und logisch beieinander platziert sind.
- Zyklomatische Komplexität: Metrik, die die Anzahl unabhängiger Pfade durch Code misst und Lesbarkeit sowie Wartbarkeit beeinflusst.
- Normalisierung von Symmetrien: Das Vereinheitlichen unterschiedlicher Implementierungsansätze (z.B. String-Konkatenation) auf eine konsistente Methode.