Legacy Code bezieht sich auf bestehende Quellcodes in Software, die als veraltet angesehen werden oder in einer Programmiersprache geschrieben wurden, die heute nicht mehr (häufig) verwendet wird. Oft wird dieser Begriff verwendet, um Code zu beschreiben, der schwer zu verstehen, zu warten oder zu ändern ist, weil er nicht den aktuellen Programmierstandards oder entsprechenden Best Practices entspricht. Legacy Code ist oft in kritischen Anwendungen oder Systemen vorhanden, die weiterhin betrieben werden müssen, obwohl sie möglicherweise nicht mehr vollständig dokumentiert oder von den ursprünglichen Entwickler:innen unterstützt werden.
Legacy Code ist oft schlecht oder gar nicht dokumentiert, was es schwierig macht, ihn zu verstehen und zu bearbeiten.
Der Legacy Code könnte in einer Programmiersprache geschrieben sein, die nicht mehr weit verbreitet ist, oder er könnte auf veralteten Technologien oder Frameworks basieren.
Häufig ist Legacy Code nicht mit automatisierten Tests abgedeckt, was Änderungen riskant und fehleranfällig macht.
Aufgrund seiner Komplexität oder schlechten Strukturierung kann es sehr schwierig sein, Änderungen an Legacy Code vorzunehmen, ohne neue Fehler zu verursachen.
Ein Unternehmen verwendet seit Jahrzehnten eine selbst entwickelte Software, die in einer veralteten Programmiersprache wie COBOL geschrieben wurde. Die Software erfüllt weiterhin wichtige Aufgaben, aber jeder Versuch, sie zu aktualisieren oder zu erweitern, ist zeitaufwändig und riskant.
Ein Open-Source-Projekt, das über viele Jahre gewachsen ist, aber dessen Codebasis inzwischen chaotisch und unübersichtlich geworden ist. Da die ursprünglichen Entwickler:innen das Projekt verlassen haben, ist es schwierig, neue Funktionen hinzuzufügen oder Fehler nachhaltig zu beheben.
Ein weiteres Beispiel besteht in einem Webservice, der über Jahre hinweg kontinuierlich gewachsen ist, aber nie automatisierte Tests implementiert hat. Jede Änderung oder Erweiterung des Codes birgt das Risiko, unerwartete Fehler zu verursachen.
Eine gängige Strategie besteht darin, den Code schrittweise zu verbessern, indem man ihn umstrukturiert und dabei den Funktionsumfang beibehält.
Automatisierte Tests können nachträglich hinzugefügt werden, um sicherzustellen, dass der Legacy Code stabil bleibt, wenn Änderungen vorgenommen werden.
Der Code kann in kleinere, besser verständliche Module aufgeteilt werden, die leichter zu warten und zu testen sind.
Legacy Code ist eine Herausforderung, mit der sich viele Entwickler:innen in der Softwareindustrie konfrontiert sehen. Trotz seiner Schwierigkeiten ist er oft unverzichtbar, da er in kritischen Systemen eingesetzt wird. Mit den richtigen Strategien und einem durchdachten Ansatz können Entwickler:innen jedoch die Risiken mindern und den Legacy Code schrittweise modernisieren, um ihn wartbarer und zukunftssicherer zu gestalten.
Sie haben Probleme mit Legacy Code? Unsere Expert:innen können Ihnen helfen! Kontaktieren Sie uns für ein unverbindliches Erstgespräch.