Kein Fingerzeig auf schlechte Arbeit, sondern eine Diagnose, die als Ausgangspunkt fuer einen Plan dient.
Ein Audit soll keine Schuldigen finden, sondern den Zustand verstehen. Welche Bereiche sind riskant, wo schleppt sich das Team durch, was kostet unverhaeltnismaessig viel Zeit, welche Bereiche kennt niemand mehr richtig?
Was man sich in 48 Stunden anschaut
Die automatisierte Analyse umfasst statische Code-Analyse, etwa mit PHPStan, ESLint oder SonarQube, einen Dependency-Scan auf bekannte Schwachstellen, einen Test-Coverage-Report und Komplexitaetsmetriken. Die manuelle Inspektion konzentriert sich auf die komplexesten Klassen und Funktionen, identifiziert ueber Metriken, nicht jede Zeile, sondern die Hotspots, ergaenzt um eine Auswertung der Git-Historie fuer haeufig geaenderte Dateien, die oft mit schlechter Qualitaet korrelieren. Und Interviews liefern, was kein Analyzer findet: Was nervt das Team taeglich, welche Bereiche meidet jeder?
Signale, die wirklich zaehlen
Lange Build-Zeiten, eine hohe Fehlerrate in bestimmten Modulen, Tests, die mal rot und mal gruen sind, Ausreden dafuer, warum ein Feature laenger dauerte als erwartet, und niemand im Team, der einen Bereich vollstaendig versteht.
Der Audit-Report
Nicht eine Liste aller Code-Smells, sondern priorisierte Handlungsempfehlungen: Was ist kritisch fuer Sicherheit und Stabilitaet, was kostet die meiste Entwicklungszeit, was hat die beste Aufwand-Nutzen-Relation?
Checkliste: Statische Analyse durchgelaufen, Dependency-Vulnerabilities geprueft, Test Coverage gemessen, Git-History-Analyse durchgefuehrt, Team-Interviews fuer qualitative Insights, Report mit priorisierten Massnahmen erstellt.
Ein Beispiel aus der Praxis
Bei einem 48-Stunden-Audit einer gewachsenen Codebasis zeigte die Git-History-Analyse, dass eine einzige Datei innerhalb eines Jahres ueber achtzig Mal geaendert worden war, mehr als jede andere im Projekt. Die manuelle Inspektion dieser Datei zeigte eine zentrale Klasse mit ueber zwanzig Verantwortlichkeiten, die praktisch bei jeder Aenderung angefasst werden musste. Dieser eine Fund war wertvoller als die gesamte automatisierte Analyse zusammen, weil er sofort zeigte, wo der naechste Refactoring-Aufwand mit dem groessten Hebel ansetzen sollte.
Audit fuer eure Codebase? markom.digital fuehrt strukturierte Code-Audits durch, mit konkretem Output, der als Basis fuer Entscheidungen taugt.