Codebereinigung und Qualität
Wie Altdateien, freie Strings, große Services und Tests schrittweise kontrolliert werden.
Erst sichtbar machen, dann aufräumen
Die Qualitätsdiagnose listet deaktivierte Dateien, doppelte Klassenvarianten, alte Backups und temporäre Dateien im Produktivbaum. Sie löscht bewusst nichts automatisch, weil solche Dateien in einem gewachsenen Projekt manchmal noch als Referenz dienen. Entfernt oder archiviert wird erst nach Prüfung.
Produktive Version eindeutig halten
Für neue Logik gilt: Es darf nur eine aktive Match Engine, ein aktiver Liveticker-Pfad und eine aktive Serviceklasse pro Aufgabe verwendet werden. Alte Varianten wie .disabled-Dateien bleiben ohne Wirkung und werden in der Diagnose als Aufräumkandidaten markiert.
Strings durch zentrale Typen ersetzen
Wettbewerbe, Abläufe, Transfers, Verträge, Kaderstufen, Spiele, Gebäude, Finanzbuchungen, Scouting und Saisonphasen besitzen feste Typklassen. Beispiele sind CompetitionType::WORLD_CUP, TransferStatus::NEGOTIATION, MatchStatus::LIVE und SeasonPhase::PRESEASON. Die gespeicherten Werte wie wc, live oder preseason bleiben kompatibel; nur ihre Bedeutung wird an einer Stelle definiert.
Offene Stellen nachvollziehbar abbauen
Die Qualitätsdiagnose zeigt getrennt freie Wettbewerbs-Strings und freie Status-/Phasen-Strings. Ein Treffer ist nicht automatisch ein Fehler, sondern eine Warteschlange. Angefasste kritische Abläufe werden auf den passenden Typ umgestellt und durch den Smoke-Test geprüft.
Zeigt die Liste in einem alten Service status = completed, bleibt die Funktion zunächst aktiv. Bei der nächsten fachlichen Änderung wird daraus beispielsweise WorkflowStatus::COMPLETED oder TransferStatus::COMPLETED – abhängig vom Bereich.
Große Services nicht blind zerschneiden
Sehr große Services werden nach Verantwortlichkeiten bewertet: Lesen, Berechnen, Schreiben, Nachrichten, Finanzen und Schema. Aufgeteilt wird erst, wenn Tests oder klare Schnittstellen vorhanden sind. So bleibt die vorhandene Spiellogik stabil.
Ein Transfer-Service wird nicht an einem Tag komplett ersetzt. Zuerst bekommt der Transferabschluss Tests, danach werden Buchung, Historie und News an klare Folgeschritte oder Ereignisse ausgelagert.
Tests zuerst für kritische Bereiche
Priorität haben Geldbuchungen, Transferabschlüsse, Tabellen, K.-o.-Sieger, Saisonabschluss und Jobs. Genau dort entstehen die teuersten Fehler: doppelte Zahlungen, doppelte Spiele, falsche Sieger oder blockierte Cronjobs.
Häufige Fragen
Warum löscht die Diagnose .disabled-Dateien nicht sofort?
Weil Entfernen irreversibel und riskant wäre. Die Seite zeigt zuerst transparent, was geprüft und später archiviert werden sollte.
Sind freie Strings sofort ein Fehler?
Nicht zwingend. Sie sind ein Wartungsrisiko. Neue und angefasste Logik sollte deshalb zentrale Typen verwenden.
Ändert die Typmigration bestehende Daten?
Nein. Sie lädt und validiert die Typklassen. Werte wie live, completed, on_loan oder preseason bleiben unverändert gespeichert.