====== Code-Qualität/Refactoring ====== ===== Code-Qualität ===== Von guter Software erwartet man nicht nur, dass sie funktioniert, sondern darüber hinaus, dass ihr Code leicht lesbar und anpassbar ist, auch von Software-Entwickler/-innen, die an der Erstellung des Codes nicht beteiligt waren. Man spricht von **Wartbarkeit** (//maintainability//) des Codes. \\ \\ Wichtige Kriterien wartbaren Codes: * sprechende Variablenbezeichner * Klassen mit eindeutiger Zuständigkeit * Eine Methode erfüllt genau eine Aufgabe * keine Code-Duplikate * Vererbung und design patterns sind sinnvoll eingesetzt ===== Refactoring ===== Unter **Refactoring** (//Refaktorierung//) versteht man die Verbesserung der Struktur des Programmcodes unter Beibehaltung der Funktionalität. \\ \\ **Mögliche Maßnahmen:** * Umbenennen von Variablen, Klassen, Methoden (-> "sprechende" Bezeichner!) \\ //"(renaming)"// * Aufteilen einer langen Methode in mehrere kürzere Methoden * Beseitigung von Code-Duplikaten durch Einführung einer neuen Methode * Verkleinerung von Klassen (Beschränkung auf einen einzigen Zuständigkeitsbereich!) durch Einführung einer Vererbungshierarchie * usw.