Una herramienta para analizar la densidad y la calidad de los comentarios en los archivos de código fuente de PHP, ayudando a mantener y mejorar la calidad de la documentación del código.

Para instalar el analizador de densidad de comentarios, ejecute el siguiente comando en su terminal:
composer require --dev savinmikhail/comments-densityAnalice la densidad de comentarios en sus archivos PHP con:
php vendor/bin/comments_density analyze:commentsGenere la línea de base con:
php vendor/bin/comments_density generate:baselineEn la instalación, puede permitir que Plugin cree su archivo de configuración. Personalice su análisis editando un archivo de configuración de comentarios_densidad.php:
<?php
return [
' directories ' => [
' src ' , // Directories to be scanned for comments
],
' exclude ' => [
' src/DTO ' , // Directories to be ignored during scanning
],
' thresholds ' => [
// Limit occurrences of each comment type
' docBlock ' => 90 ,
' regular ' => 5 ,
' todo ' => 5 ,
' fixme ' => 5 ,
' missingDocBlock ' => 10 ,
// Additional metrics thresholds
' Com/LoC ' => 0.1 , // Comments per Lines of Code
' CDS ' => 0.1 , // Comment Density Score
],
' only ' => [
' missingDocblock ' , // Only this type will be analyzed; set to empty array for full statistics
],
' output ' => [
' type ' => ' console ' , // Supported values: 'console', 'html'
' file ' => ' output.html ' , // File path for HTML output (only used if type is 'html')
],
' missingDocblock ' => [
' class ' => true , // Check for missing docblocks in classes
' interface ' => true , // Check for missing docblocks in interfaces
' trait ' => true , // Check for missing docblocks in traits
' enum ' => true , // Check for missing docblocks in enums
' property ' => true , // Check for missing docblocks in properties
' constant ' => true , // Check for missing docblocks in constants
' function ' => true , // Check for missing docblocks in functions
' requireForAllMethods ' => true , // If false, only methods where @throws tag or generic can be applied will be checked
],
' use_baseline ' => true , // Filter collected comments against the baseline stored in comments_density.sqlite
];Este proyecto fue inspirado en Yegor Bugayenko. Ver ideas de OpenSource.
¡Las contribuciones son bienvenidas! No dude en enviar una solicitud de extracción.
Esta biblioteca se lanza bajo la licencia MIT.