In einem neuen Projekt ("Greeefield Project") gleich mit Clean Code Development (CCD) zu beginnen ist der Wunschtraum eines jeden Entwicklers. Was aber, wenn man ein Legacy Project hat? Unit Tests – wenn sie überhaupt vorhanden sind – laufen nicht, sind langsam oder bieten eine zu geringe Testabdeckung. Zyklen in Abhängigkeiten, wohin man schaut. Zu große Packages, zu lange Methoden, zumhohe zyklomatische Komplexität, zu, zu, zu…
Einige CCD-Tugenden wie Pfadfinderregel, Pair Programming, Iterationen, VCS oder CI sind davon nicht betroffen. Sobald man aber Metriken erhebt und ggf. den Build abbricht, können graue Haare wachsen. Erstmal ein Riesenrefactoring zu machen, ist wirtschaftlich ausgeschlossen. Man kann nur in kleinen Schritten langsam Verbesserungen vornehmen und das gewonnene Land mit Deichen absichern. Wichtig ist auch die psychologische Komponente: im Team muss der Fortschritt sichtbar sein.
Jens Nerche