Legacy-Code verstehen: Strategien für unbekannte Codebasen
Der Entwickler hat das Unternehmen verlassen. Die Dokumentation ist von 2015. Der Code hat 200.000 Zeilen. Willkommen in der Welt der Legacy-Systeme.
Die erste Regel: Nichts anfassen
Bevor Sie eine einzige Zeile ändern: Verstehen Sie, was der Code tut. Blinder Aktionismus führt zu Regressionen, die niemand versteht.
Systematische Analyse
1. Black-Box-Analyse
Beobachten Sie das System von außen:
- Welche Eingaben gibt es?
- Welche Ausgaben werden produziert?
- Welche externen Systeme werden angesprochen?
Werkzeuge: Netzwerk-Analyse, Datenbank-Logs, Browser DevTools
2. Datenmodell verstehen
Die Datenbankstruktur verrät viel über die Domäne:
- Welche Entitäten gibt es?
- Wie hängen sie zusammen?
- Welche Felder werden wirklich genutzt?
Werkzeuge: ER-Diagramm-Generatoren, Query-Analyse
3. Einstiegspunkte finden
Suchen Sie nach:
- HTTP-Routen/Controller
- Cron-Jobs/Scheduled Tasks
- Message-Queue-Consumer
- CLI-Befehle
Diese Einstiegspunkte zeigen, wo Geschäftslogik beginnt.
4. Tests als Dokumentation
Wenn Tests existieren, lesen Sie sie. Sie beschreiben erwartetes Verhalten besser als jede Dokumentation.
Wenn keine Tests existieren: Schreiben Sie Charakterisierungstests, die das aktuelle Verhalten festhalten.
Dokumentation nachholen
Dokumentieren Sie, was Sie herausfinden:
- Architektur-Diagramm – Komponenten und ihre Beziehungen
- Glossar – Was bedeuten die Fachbegriffe im Code?
- Entscheidungs-Log – Warum wurde etwas so gebaut?
Praxisbeispiel
Bei DB Netz haben wir ein 15 Jahre altes Abrechnungssystem analysiert. Keine Dokumentation, drei verschiedene Programmiersprachen. Nach 4 Wochen systematischer Analyse konnten wir gezielt modernisieren – ohne das laufende System zu gefährden.
Nächster Schritt
Sie haben ein Legacy-System geerbt und wissen nicht, wo Sie anfangen sollen? Lassen Sie uns gemeinsam eine Strategie entwickeln.
Haben Sie weitere Fragen oder Anregungen?
Kontaktieren Sie uns gerne