PHPCODEARCHEOLOGIE
PHPCODEARCHEOLOGY analysiert Ihr PHP -Projekt und bietet detaillierte Metriken zu Dateien, Klassen, Methoden und Funktionen. Der umfassende HTML -Bericht entspricht Ihnen mit tiefen Erkenntnissen, die für die Bewertung Ihres Projekts erforderlich sind.
Warum PHPCODECHEGEOLOGIE?
PHPCODEARCHEOLOGIE wurde erstellt, um Entwicklern zu helfen, ein tieferes Verständnis ihrer PHP -Codebasis zu erlangen, indem sie detaillierte Metriken und Erkenntnisse bereitstellen. Unabhängig davon, ob Sie ein Legacy -System aufrechterhalten oder an einem neuen Projekt arbeiten, soll dieses Tool eine bessere Codequalität und -wartbarkeit erleichtern.
Voraussetzungen
Stellen Sie sicher, dass Ihre Umgebung die folgenden Anforderungen erfüllt:
- PHP Version 8.2 oder höher
- Komponist installiert
Installation
Installieren Sie die PHPCODECHELOLOGY mit Composer, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:
composer require --dev php-code-archeology/php-code-archeology
Schneller Start
Führen Sie den folgenden Befehl in Ihrem Projektwurzel aus, um die PHPCODECHELOLOGIE zu starten:
./vendor/bin/phpcodearcheology
Aus der Box scannt PHPCODEARCHEOLOGY Ihr SRC -DIR und erstellt den Bericht in TMP/Bericht .
Um das Scannen anzupassen, z. B. das Einbeziehen oder Ausschluss von Ordnern, das Definieren von benutzerdefinierten PHP-Dateierweiterungen oder andere Einstellungen, erstellen Sie eine php-codearch-config.yaml Konfigurationsdatei in Ihrem Projektroot. In dieser Beispielkonfigurationsdatei finden Sie eine Anleitung.
Der Bericht
Ein typischer Bericht, der von PHPCODEARCHEOLOGY erstellt wurde, umfasst Metriken wie:
- Dateien : Gesamtzahl der Dateien im Projekt.
- Dateifehler : Anzahl der in Dateien gefundenen Fehler.
- Funktionenzahl : Gesamtzahl der Funktionen.
- Klassenanzahl : Gesamtzahl der Klassen.
- Abstrakte Klassen : Graf von abstrakten Klassen.
- Schnittstellenzahl : Gesamtzahl der Schnittstellen.
- Methodenanzahl : Gesamtzahl der Methoden, einschließlich öffentlicher, privater und statischer Methoden.
- Öffentliche Methoden : Anzahl der öffentlichen Methoden.
- Private Methoden : Zählung privater Methoden.
- Statische Methoden : Anzahl statischer Methoden.
- Ausgabeanweisungen : Anzahl der Echo- und Printf -Anrufe.
- Codezeilen (LOC) : Gesamtcodezeilen, einschließlich Kommentare und leere Zeilen.
- Logische Codezeilen (LLOC) : Gesamtzeilen von Code ohne Kommentare und leere Zeilen.
- Kommentarzeilen von Code (CLOC) : Codezeilen, die Kommentare enthalten.
- HTML -Codezeilen : Codezeilen, die HTML enthalten.
- Zyklomatische Komplexität (CC) : Ein Maß für die Komplexität des Codes.
- Wartbarkeitsindex (MI) : Ein Index, der die Wartbarkeit des Codes angibt.
- LCOM : Mangel an Zusammenhalt von Methoden in Klassen.
- Instabilität : Maß für die Stabilität einer Klasse basierend auf den Abhängigkeiten.
- Efferent Copping (CE) : Anzahl der Klassen, von denen eine Klasse abhängt.
- Afferente Kupplung (CA) : Anzahl der Klassen, die von einer Klasse abhängen.
- Schwierigkeit : Messen Sie, wie schwierig der Code zu verstehen ist.
- Aufwand : Schätzung der Anstrengungen zum Verständnis des Code.
- Wortschatz : Anzahl der eindeutigen Operatoren und Operanden im Code.
- Länge : Gesamtzahl der Betreiber und Operanden im Code.
- Volumen : Die Größe des Wortschatzes und der Länge des Codes.
- Kommentargewicht : Das Gewicht der Kommentare im Code.
- Entfernung von der Hauptlinie : Maß für die abstrakte und stabile Klasse.
Hier ist ein Beispiel -Screenshot des HTML -Berichts:

Dokumentation
Ich arbeite derzeit an der Dokumentation. Da ich hauptsächlich das Tool für meine eigenen Projekte verwende und mich auf seine fortlaufende Entwicklung konzentriere, kann es einige Zeit dauern, um eine umfassende Dokumentation abzuschließen.
Autor
Marcus Kober, @mrcskbr, Github