Inicio > PHP > Phpcpd

PHPCPD

24/03/2017PHP

 

Hoy me he enterado de la existencia de una herramienta de php que sirve para detectar código duplicado lo que resulta muy útil. PHPCPD significa PHP Copy/Paste Detector, es decir, detector de copy/paste para php.
Esta herramienta se puede instalar usando composer con el comando composer require --dev sebastian/phpcpd.
Para utilizar phpcpd solo hay que ejecutar la aplicación indicando la carpeta en la que se quiere comprobar que hay código duplicado.

c:\ruta_proyecto> phpcpd ./php_folder
//resultado en la consola mostrando los fichneros y el número de las línea sduplicadas
phpcpd 1.1.1 by Sebastian Bergmann.
Found 2 exact clones with 50 duplicated lines in 4 files:
- .file1.php:95-105
.file2.php:112-122

- .file3.php:14-23
.file4.php:14-23
0.35% duplicated lines out of 14456 total lines of code.

//Opciones de ejecución dodne se le indican el mínimo de líneas duplicadas y los tokens duplicados
phpcpd --min-lines 4 --min-tokens 40 ./admin
... ...

El resultado también se puede exportar a un xml con el comando: phpcpd --log-pmd projectPhpcpd.xml ./admin y con la opción phpcpd --suffixes php,php5 ./admin se pueden analizar ficheros con diferentes extensiones a php.