Estoy buscando hacer un análisis de código estático de un proyecto PHP existente, y estoy teniendo problemas para entender las distinciones entre PHP_CodeSniffer, PHPMD y PHP Depend. ¿Son simplemente alternativas al mismo problema, o se complementan entre sí de alguna manera? ¿Por qué un desarrollador puede elegir uno sobre el otro?PHP_CodeSniffer, PHPMD o PHP Depen
Respuesta
copia de Shameless http://phpqatools.org
PDEPEND
PDEPEND puede generar un gran conjunto de métricas de software a partir de una base de código dado. Estos valores se pueden usar para medir la calidad de un proyecto de software y ayudan a identificar las partes de una aplicación donde se debe aplicar una refactorización de código.
phpmd
código fuente exploraciones phpmd PHP y busca problemas potenciales, tales como posibles errores, código muerto, código subóptima y expresiones excesivamente complicadas.
phpcs
phpcs tokenises PHP, JavaScript y CSS y detecta violaciónes de un conjunto definido de normas de codificación. Es una herramienta de desarrollo esencial que garantiza que su código permanezca limpio y consistente. También puede ayudar a prevenir algunos errores semánticos comunes cometidos por los desarrolladores.
Así que no, no son solo alternativas. PDepend y PMD se centran en las métricas del software, mientras que PHPCS define reglas basadas en patrones en el flujo de tokens. A PDepend no le importa lo más mínimo encontrar infracciones en el estándar de codificación. Deberías usar los tres. Si es posible en su servidor de Integración Continua, por ejemplo Jenkins.
- 1. Cómo acelerar PHP Depen
- 2. Cómo crear PHP-UnitTest Case para estándares PHP_Codesniffer? `
- 3. Ignorar fragmentos de código en PHP_CodeSniffer
- 4. Ignorar advertencias específicas con PHP_CodeSniffer
- 5. Cómo usar PHP_CodeSniffer con XAMPP?
- 6. cómo ignorar la longitud de línea PHP_CodeSniffer
- 7. Excluir ciertos directorios y archivos en pdepend, phpmd, phpcpd, phpcs, phpdoc, phploc
- 8. PHP "o" Sintaxis
- 9. php - usort o array_multisort?
- 10. php regex o | operador
- 11. PHP: HTTP o HTTPS?
- 12. SSI o PHP Include()?
- 13. Secuencia PHP o cookie
- 14. PHP global o $ GLOBALS
- 15. PHP o HTML primero o ¿es importante?
- 16. is_file o file_exists en PHP
- 17. Mod-Rewrite o enrutador PHP?
- 18. Funciones en mysql o php
- 19. Objeto PHP o una matriz
- 20. Serializar o json en PHP?
- 21. php - ¿VERDADERO o verdadero? personas
- 22. PHP con Netbeans o Eclipse?
- 23. YUICompressor o similar en PHP?
- 24. PHP Typecasting - ¿Bueno o malo?
- 25. array php - mayúscula o minúscula
- 26. PHP $ _REQUEST $ _GET o $ _POST
- 27. cron jobs o PHP scheduler
- 28. PHP - y/o palabras clave
- 29. ip country php o apache
- 30. ¿Se compila o interpreta PHP?
Gracias por publicar una respuesta tan clara, y por la vergüenza positiva para alentarme a comenzar a usar un servidor de CI. – jmans
Después de haber configurado recientemente los tres (y más) en Jenkins para nuestros proyectos de PHP, puedo recomendar encarecidamente las tres herramientas. –
Todavía el uso de pdepend adicionalmente a phpmd no está claro. Phpmd también genera métricas (y tiene un plugin espléndido para Jenkins) y se puede usar en tiempo real en PHPStorm. ¿Qué podría hacer para mí lo que no puedo obtener de phpmd? –