phpcdm es un medidor de densidad de código para PHP
Mira este código:
<?php
final class SomethingGreat
{
public function doSomethingGreat ( $ entity , $ property , $ type , $ refProperties , $ update , $ delete )
{
$ time = $ this -> startAction ( " $ type ( " . implode ( ' , ' , ( array ) $ type ) . ' ) ' );
$ this -> createAction ()-> addExtraKey ( $ entity , $ entity , $ property , $ refProperties , $ delete , $ update )-> execute ();
$ this -> finishAction ( $ time );
$ this -> createAction ()-> updateProperty ( $ entity , $ property , $ type )-> execute ();
if ( $ type instanceof InvalidArgumentException && $ type -> getMessage () !== null ) {
$ this -> createAction ()-> addDescriptionOnProperty ( $ entity , $ property , $ type -> description )-> execute ();
}
$ this -> createAction ()-> renameEntity ( $ entity , $ property )-> execute ();
$ this -> finishAction ( $ time );
$ time = $ this -> startAction ( " $ type ( " . implode ( ' , ' , ( array ) $ type ) . ' ) ' );
$ this -> createAction ()-> addExtraKey ( $ entity , $ entity , $ property , $ refProperties , $ delete , $ update )-> execute ();
if ( $ type instanceof InvalidArgumentException && $ type -> getMessage () !== $ delete ) {
$ this -> finishAction ( $ time );
$ this -> createAction ()-> addDescriptionOnProperty ( $ entity , $ property , $ type -> description )-> execute ();
$ this -> createAction ()-> renameEntity ( $ entity , $ property )-> execute ();
}
$ this -> createAction ()-> updateProperty ( $ entity , $ property , $ type )-> execute ();
$ this -> finishAction ( $ time );
}
}Parece una pared de personajes. En realidad es una pared de personajes. Nadie puede entender fácilmente lo que significó el autor de este código y definitivamente, nadie estará feliz tratando de leerlo. Además, a menudo tales paredes de caracteres son el resultado del mal diseño de aplicaciones.
La densidad del código es una medida de cuántos caracteres se muestran en una sola página.
El medidor de densidad de código PHP tiene como objetivo ayudar a un desarrollador a prevenir problemas de densidad de código y, finalmente, mantener una aplicación en buena forma.
El código de ejemplo tiene una densidad de 0.381 que está muy por encima del umbral predeterminado (0.2)
Puede agregar esta herramienta como una dependencia local, por proceso, por tiempo de desarrollo a su proyecto utilizando el compositor:
composer require --dev vantoozz/phpcdmAdemás, PHPCDM se puede instalar a nivel mundial de esta manera:
composer global require --dev vantoozz/phpcdm Análisis del directorio src
./vendor/bin/phpcdm srcSalir con un código de error
./vendor/bin/phpcdm src --non-zero-exit-on-violation