Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
se:refactoring [2009-01-30 14:25] stefan angelegt |
se:refactoring [2014-04-05 11:42] (aktuell) |
||
---|---|---|---|
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 \cite[S. 282ff.]{Goodliffe2006}** | ||
+ | * 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" |