Wurdest du schon einmal damit beauftragt, einen Bug zu fixen oder eine neue Funktion in einem Codeteil zu implementieren, an dem in letzter Zeit nicht gearbeitet wurde? Wenn ja, wie hast du reagiert, als du den vorhandenen Code gelesen hast? Konntest du die Korrektur/Funktion problemlos integrieren, oder hast du dich gequält und den vorherigen Entwickler verflucht? Wenn man davon ausgeht, dass du und deine Kollegen normalerweise ausreichend ausgestattet seid, um gute Arbeit zu leisten, wie kann es dann sein, dass du diese Erfahrung gemacht hast? Warum machen alle professionellen Entwickler diese Erfahrung so häufig? Sicherlich verlassen wir den Code nicht in einem so schlechten Zustand, warum erscheint er dann oft so unzureichend, wenn wir zu ihm zurückkehren? Das wirft die Frage auf: Rostet Software? In diesem Vortrag über Refactoring erörtern wir die titelgebende Frage sowie Methoden zum Umgang mit dem “Korrosionseffekt”. Wir behandeln nicht nur die allgemeinen Prinzipien des Refactoring, sondern auch Techniken für den Umgang mit großen Refactorings in kritischen Systemen. Im Anschluss gibt es noch etwas zu Essen.