- Umstrukturieren des Code, ohne Verhalten zu ändern
- Verhalten der Software darf keinesfalls verändert werden
- durch kleine, nachvollziehbar Änderungen das System verbessern
- kontinuierliches Verbessern und Überarbeiten der Software
Code sollte einfacher/wartbarer werden als vorher
- Wer: jeder Entwickler
- Wann: ständig
- Was: neuer und frisch geänderter Code
- es muss für ein Refactoring gefragt werden
- es braucht ein Backlog-Item für Refactoring
- Code formatieren gemäss Coding-Guidelines (automatisch durch Tool)
- Umbenennung von Methoden und Variablen
- Import-Statements korrigieren
- kommentierter Code löschen
- TODO, FIXME Kommentare löschen
- leeren Methoden finden und löschen
- leeren Catch-Blöcke finden
- dient als Sicherheitsnetz beim Refactoring
- mindestens 60% Abdeckung ist eine Voraussetzung
- setzt TDD und ATDD voraus
- keine öffentlichen Felder
- keine Parameter als lokale Variablen benutzten
- niemals null zurückgeben
- Klassen und Exceptions der Standardbibliothek verwenden
- Private Methoden für komplexe Bedingungen
- Schleifen durch Streams ersetzen
- Bedingungen mit Filter ersetzten
- Nicht-veränderbare Klassen vorziehen
- Feature: nicht länger als 2 Monate
- Story: nicht länger als 1 Woche