Statische Code-Analyse Was kann ich damit nicht? Inhaltliche Fehler aufdecken: Kein Ersatz für menschliche Reviews und ggf. manuelle Tests. Sicher sein: Metriken können geschönt und auch nicht aussagekräftig sein.
Coding-Standards Einarbeitung minimieren: Wiedererkennbarer und leserlicher Quellcode. Warum Coding-Standards verwenden? Wartbarkeit erhöhen: Gut leserlicher Quellcode ist in der Regel auch wartbarer.
phploc Projektgröße analysieren: Anzeige diverser Messdaten. Was kann ich damit tun? Ersten Eindruck gewinnen: Übersicht über Struktur und Code erhalten.
PDepend Metriken generieren: Metriken für CodeRank, Efferent Coupling u.a. erstellen. Übersicht visualisieren: Erstellung einer Overview Pyramid sowie Abstraction Instability Charts möglich. Was kann ich damit tun?
QualityAnalyzer Was kann ich damit machen? Visualisierung: Übersichtliche Visualisierung anhand der generierten Metriken. Schnellen Einblick gewinnen: Wo sind komplexe Klassen und Methoden? Wo sind Violations?
PHP-CS-Fixer Alternative zur manuellen Anpassung: Optimal um in Legacy-Applikationen Coding-Standards einzuführen. Welchen Mehrwert habe ich davon? Extrem konfigurierbar: Mehr als 20 vordefinierte Fixer (Regel-Klassen) bereits vorhanden. Automatisierbar für CI’s: Die Konfiguration kann in einer speziellen .php_cs Datei hinterlegt und automatisiert geprüft werden.
security-advisories Sicherheitsüberprüfung: Prüfung der eingesetzten Libraries, Bundles oder Components auf bekannte Sicherheitslücken. Was kann ich damit tun? Verbreitung von Schadcode verhindern: Schützt eure Projekte indem ihr dies als Pflicht-Prüfung bei jedem Deployment forciert.
Cyclomatic Complexity (CCN): Anzahl der Verzweigungen. NPath Complexity: Anzahl der Ausführungspfade. Kurz und knapp: Zählt pro Methode die „Entscheidungs-Verzweigungen“ (Decision-Trees) • function • for(each) • while • if • case
Deptrac Prüfung von definierten Regeln: Überprüfung von Objekt-Abhängigkeiten über verschiedene Bereiche. (Layern) Worum geht es? Visualisierbar: Eine Bildgenerierung der Verbindungen via graphviz ist möglich. Frei definier- und erweiterbar: Freie Definition von Bereichen sowie deren Verbindungen möglich.