Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste Überarbeitung Beide Seiten der Revision | ||
se:refactoring [2009-01-30 14:25] stefan angelegt |
se:refactoring [2010-01-18 11:31] 127.0.0.1 Externe Bearbeitung |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Refactoring ====== | ====== Refactoring ====== | ||
* beim Refactoring müssen ggfs. auch die Codekommentare angepasst werden | * beim Refactoring müssen ggfs. auch die Codekommentare angepasst werden | ||
+ | |||
+ | ===== Anzeichen für verbesserungswürdigen Code ===== | ||
+ | **nach {[quellen:Goodliffe2008|S. 282ff.]}** | ||
+ | * viele große Klassen | ||
+ | * kryptische/irreführende Funktionsnamen | ||
+ | * keine Struktur erkennbar | ||
+ | * es gibt duplizierten Code | ||
+ | * es gibt starke Kopplung | ||
+ | * Daten werden immer wieder hin- und herkonvertiert | ||
+ | * überladene, sich häufig ändernde APIs | ||
+ | * private Implementierungen werden über öffentliche APIs zugänglich gemacht (um Hacks zu ermöglichen) | ||
+ | * der Code strotzt vor Workarounds und Quick Fixes | ||
+ | * Funktionen haben lange Listen von Parametern | ||
+ | * es gibt Codeteile, an die sich niemand herantraut | ||
+ | * neue Features werden ohne entsprechende Dokumentation hinzugefügt | ||
+ | * beim Kompilieren gibt es viele Warnungen | ||
+ | * es gibt Kommentare wie "Don't touch this" |