PHPCPD, detecta duplicidades en PHP
PHPCPD, detecta duplicidades en PHP



PHPCPD es otra fantástica herramienta de Sebastian Bergmann, el creador de PHPUnit. PHPCPD simplemente significa PHP Copy/Paste Detector, es decir, detector de copy/paste para php.

Su uso es muy sencillo, simplemente tenemos que instalarlo, podemos utilizar composer entre otros y ejecutar un comando contra un directorio o un archivo, si por ejemplo queremos comprobar el directorio system de Codeigniter 4, algo que se está desarrollando actualmente, simplemente deberíamos hacer lo siguiente.

Primero instalamos PHPCPD con composer.

Y una vez lo hemos instalado, debemos buscar el ejecutable vendor/bin/phpcpd y añadir al final qué queremos comprobar.

Con ese comando se hará una revisión contra el directorio system y el resultado actual sería el siguiente.

En este caso PHPCPD ha sido capaz de detectar 160 líneas duplicadas entre 52557. Una vez tenemos esa información lo único que debemos hacer es saber si somos capaces de encontrar la forma de reutilizar ese código, sea a través de herencia o haciendo uso de traits, por ejemplo.

De esta forma tan sencilla seremos capaces de detectar duplicidades en PHP utilizando PHPCPD.