Erstellt: 2025-12-25 | Aktualisiert: 2025-12-27

Prinzip

Jeder normalisierte Faktor wird gewichtet. Die Gewichte spiegeln Hygiene-Relevanz, nicht Architektur-Bedeutung.

Standard-Gewichtung

FaktorGewichtHygiene-Begründung
Dependencies25%Kopplung = Hauptursache für Hygiene-Verfall
Lines of Code20%Überschaubarkeit der Datei
Methoden-Anzahl20%Verantwortlichkeits-Klarheit
Hardcoded Secrets15%Sicherheits-Hygiene
Klassen pro Datei10%Datei-Kohäsion
Magic Numbers10%Lesbarkeit

Score-Berechnung

hygiene_score = (
    deps_normalized × 0.25 +
    loc_normalized × 0.20 +
    methods_normalized × 0.20 +
    secrets_normalized × 0.15 +
    classes_normalized × 0.10 +
    magic_normalized × 0.10
)

Beispiel: ContentController.php

400 LOC, 16 Methoden, 1 Klasse, 6 Dependencies, 0 Secrets, 2 Magic Numbers

FaktorRohNormalisiert×Gewicht=Beitrag
Dependencies682×0.25=20.5
LOC40040×0.20=8.0
Methoden1627×0.20=5.4
Secrets0100×0.15=15.0
Klassen1100×0.10=10.0
Magic280×0.10=8.0
Hygiene Score66.9

Interpretation: Score 67 = „Gepflegt" (60-79)

Dateityp-Modifikatoren

Pragmatische Gewichtsanpassung nach Dateityp:

Controller

FaktorStandardController
Methoden20%10%
Dependencies25%30%

Controller haben viele Actions. Dafür ist Kopplung kritischer.

Entity/Model

FaktorStandardEntity
LOC20%30%
Dependencies25%15%

Entities müssen schlank bleiben. Framework-Dependencies sind unvermeidbar.

Repository

FaktorStandardRepository
Methoden20%10%
LOC20%30%

Viele CRUD-Methoden sind normal. LOC-Hygiene wichtiger.

Zukünftige Erweiterung

Bei Integration von PHPStan:

FaktorAktuellMit PHPStan
Dependencies25%20%
LOC20%15%
Methoden20%15%
Secrets15%12%
Klassen10%8%
Magic10%5%
PHPStan-25%

PHPStan wird hoch gewichtet - statische Analyse ist Kern-Hygiene.