Hygiene-Prinzip
Der Code Hygiene Score misst Ordnung und Sauberkeit, nicht Architektur. Die Faktoren beantworten:
- Laufen Dateien aus dem Ruder?
- Sind Verantwortlichkeiten erkennbar?
- Gibt es offensichtliche Risiken?
1. Größen-Hygiene
„Dateien nicht ausufern lassen"
1.1 Lines of Code (LOC)
| Eigenschaft | Wert |
|---|---|
| Hygiene-Frage | Ist die Datei noch überschaubar? |
| Datenquelle | code_analysis.line_count |
| Sauber | ≤ 100 Zeilen |
| Grenze | 600 Zeilen |
1.2 Methoden-Anzahl
| Eigenschaft | Wert |
|---|---|
| Hygiene-Frage | Hat die Klasse zu viele Aufgaben? |
| Datenquelle | code_analysis.functions |
| Sauber | ≤ 5 Methoden |
| Grenze | 20 Methoden |
1.3 Klassen pro Datei
| Eigenschaft | Wert |
|---|---|
| Hygiene-Frage | Eine Datei = Eine Verantwortung? |
| Datenquelle | code_analysis.classes |
| Sauber | 1 Klasse |
| Grenze | 3 Klassen |
2. Kopplungs-Hygiene
„Abhängigkeiten im Griff behalten"
2.1 Dependencies
| Eigenschaft | Wert |
|---|---|
| Hygiene-Frage | Wie viele externe Abhängigkeiten? |
| Datenquelle | code_analysis.uses (use-Statements) |
| Sauber | ≤ 3 Dependencies |
| Grenze | 20 Dependencies |
use-Statements sind ein pragmatischer Hygiene-Proxy. Nicht perfekt, aber messbar.
3. Sicherheits-Hygiene
„Offensichtliche Risiken früh erkennen"
3.1 Hardcoded Secrets
| Eigenschaft | Wert |
|---|---|
| Hygiene-Frage | Liegen Geheimnisse offen im Code? |
| Erkennung | Regex: Passwörter, API-Keys, Tokens, IPs |
| Sauber | 0 Funde |
| Kritisch | Jeder Fund = schwere Hygiene-Verletzung |
Härtung: Bei Secrets → Score ≤ 20 (Hard Fail)
3.2 Magic Numbers
| Eigenschaft | Wert |
|---|---|
| Hygiene-Frage | Sind Konstanten benannt? |
| Erkennung | Regex: 100, 1000, 60, 24, 365, etc. |
| Sauber | 0 Funde |
| Ausnahme | Config-Dateien ignoriert |
Niedrig gewichtet. Lesbarkeit, nicht Sicherheit.
4. Statische Analyse (geplant)
„Technische Schulden sichtbar machen"
4.1 PHPStan Errors
| Eigenschaft | Wert |
|---|---|
| Hygiene-Frage | Gibt es Typ-Fehler oder tote Pfade? |
| Status | Geplant (Level 5) |
| Sauber | 0 Errors |
Ohne PHPStan bleibt Hygiene unvollständig, aber nicht falsch.
Zusammenfassung
| Kategorie | Faktoren | Hygiene-Zweck | Status |
|---|---|---|---|
| Größe | LOC, Methoden, Klassen | Überschaubarkeit | ✓ |
| Kopplung | Dependencies | Änderbarkeit | ✓ |
| Sicherheit | Secrets, Magic Numbers | Risiko-Erkennung | ✓ |
| Statisch | PHPStan | Technische Schulden | ○ |