Phpcodersearchéologie
PHPCODEARCHEOLOGIE analyse votre projet PHP, fournissant des mesures détaillées sur les fichiers, les classes, les méthodes et les fonctions. Le rapport HTML complet vous offre des informations profondes nécessaires pour évaluer votre projet.
Pourquoi phpcodearcheology?
PHPCODEARCHEOLOGIE a été créé pour aider les développeurs à mieux comprendre leur base de code PHP en fournissant des métriques et des idées détaillées. Que vous mainteniez un système hérité ou que vous travailliez sur un nouveau projet, cet outil vise à faciliter une meilleure qualité de code et maintenabilité.
Condition préalable
Assurez-vous que votre environnement répond aux exigences suivantes:
- PHP version 8.2 ou plus
- Compositeur installé
Installation
Installez PHPCODEARCHEOLOGIE en utilisant Composer en exécutant la commande suivante dans votre terminal:
composer require --dev php-code-archeology/php-code-archeology
Démarrage rapide
Pour démarrer PHPCODEARCHEARGOOLOGIE, exécutez la commande suivante dans la racine de votre projet:
./vendor/bin/phpcodearcheology
Hors de la boîte, PHPCodeRissecteology scanne votre Dir SRC et crée le rapport dans TMP / Report .
Pour personnaliser la numérisation, comme l'inclusion ou l'exclusion de dossiers, la définition d'extensions de fichiers PHP personnalisées ou d'autres paramètres, créent un fichier de configuration php-codearch-config.yaml dans votre racine de projet. Reportez-vous à cet exemple de fichier de configuration pour les conseils.
Le rapport
Un rapport typique généré par PHPCodeChearcheology comprend des métriques telles que:
- Fichiers : nombre total de fichiers dans le projet.
- Erreurs de fichier : nombre d'erreurs trouvées dans les fichiers.
- Nombre de fonctions : nombre total de fonctions.
- Nombre de classes : nombre total de classes.
- Classes abstraites : nombre de classes abstraites.
- Nombre d'interface : nombre total d'interfaces.
- Nombre de méthodes : nombre total de méthodes, y compris les méthodes publiques, privées et statiques.
- Méthodes publiques : Compte de méthodes publiques.
- Méthodes privées : Compte de méthodes privées.
- Méthodes statiques : nombre de méthodes statiques.
- Instructions de sortie : comptage des appels Echo et printf.
- Lignes de code (LOC) : lignes totales de code, y compris les commentaires et les lignes vides.
- Lignes logiques de code (LLOC) : lignes totales de code excluant les commentaires et les lignes vides.
- Commentaires Lignes de code (CLOC) : lignes de code contenant des commentaires.
- HTML Lignes de code : lignes de code contenant HTML.
- Complexité cyclomatique (CC) : une mesure de la complexité du code.
- Index de maintien (MI) : un index qui indique la maintenabilité du code.
- LCOM : manque de cohésion des méthodes dans les classes.
- Instabilité : mesure de la stabilité d'une classe en fonction de ses dépendances.
- Couplage efférent (CE) : nombre de classes dont dépend une classe.
- Couplage afférent (CA) : nombre de classes qui dépendent d'une classe.
- Difficulté : mesurer la difficulté du code à comprendre.
- Effort : estimation de l'effort requis pour comprendre le code.
- Vocabulaire : nombre d'opérateurs et opérands uniques dans le code.
- Longueur : nombre total d'opérateurs et d'opérands dans le code.
- Volume : la taille du vocabulaire et de la longueur du code.
- Poids de commentaire : le poids des commentaires dans le code.
- Distance par rapport à la ligne principale : mesure de la façon dont une classe est abstraite et stable.
Voici un exemple de capture d'écran du rapport HTML:

Documentation
Je travaille actuellement sur la documentation. Étant donné que j'utilise principalement l'outil pour mes propres projets et que je me concentre sur son développement continu, il pourrait prendre un certain temps pour compléter une documentation complète.
Auteur
Marcus Kober, @mrcskbr, github