Legacy-Spring-Anwendungen schrittweise in die Zukunft bringen
Neue Anwendungen mit dem Spring-Ökosystem zu entwickeln, geht heutzutage einfach und schnell. Doch auch vermeintlich leichtgewichtige Spring-Anwendungen können sich in gefürchtete Legacy-Systeme verwandeln und werden immer schwerer zu warten.
Das Upgrade von Bibliotheken und Frameworks, theoretisch eine Frage von Minuten oder wenigen Stunden, zieht sich oft über Tage oder sogar Wochen hin und bringt nur noch mehr Bugs ins System. Die Komplexität von Schnittstellen steigt, die Verständlichkeit nimmt ab. Und trotz "Clean Code" entsteht unstrukturierter Code.
Was tun: Die Anwendung wegwerfen und komplett neu schreiben? Das würde nur temporär das Problem lösen. Und dann sind da auch noch die Anwender, die regelmäßig neue Funktionen benötigen.
In diesem Vortrag teile ich meine Erfahrungen, wie man Spring-Anwendungen schrittweise wieder in den Griff bekommt, die zu Legacy-Systemen gewachsen sind. Ich zeige Vorgehensweisen und Werkzeuge,
- wie man unstrukturierten Code strukturieren kann,
- wie man die Anwendung wieder testbar macht,
- wie Schnittstellen verständlicher werden.
Und ich erläutere, welche drei Prinzipien ich bei jedem einzelnen Schritt anwende.
Damit könnt ihr schon morgen loslegen und euer Legacy-System zukunftsfähig machen, auch wenn ihr vom Management keine Zeit für Refactoring bekommt.