Recientemente, en la comunidad PHP, a menudo escucho discusiones sobre la revisión del código, decidí contribuir, quiero hablar sobre las posibilidades que están destinadas a simplificar su vida y mejorar la calidad del código en su proyecto. Es relevante no solo para PHP, las herramientas similares descritas aquí también existen para otros lenguajes de programación, por ejemplo, aprendí sobre ellas cuando participé en un proyecto en NodeJS.
Quiero compartir herramientas diseñadas para mejorar la calidad del código, encontrar errores de sintaxis, llevar todo a un estilo de código, etc.
Pre cometido
Si escribe "pre-commit php" en un motor de búsqueda, le dará varios scripts listos para usar que analizan el código escrito. Para git, el script debe colocarse en la carpeta ".git / hooks /", y luego, cada vez que lo confirme, se ejecutará y si se encuentran errores, simplemente no le permitirá insertar el código en el repositorio. Algunos IDE tienen complementos separados que hacen lo mismo, pero ¿qué pasa si tienes un equipo grande y todos usan editores diferentes? Y es más fácil configurar este script una vez cargándolo en su repositorio que configurar su IDE para cada desarrollador por separado. Lo que es más importante, en este script puede agregar cualquier otra herramienta que use en su equipo, como un analizador estático (por ejemplo, phpstan), y / o pruebas unitarias (por ejemplo, phpunit )
Herramientas para ayudar a mejorar la calidad del código.
php -l (solo verificación de sintaxis (lint)) es un verificador de sintaxis integrado en el núcleo de PHP.
php-cs-fixer ( fijador de estándares de codificación PHP): corrige su código en PSR-1, PSR-2, etc., u otras comunidades como Symfony. También puede definir su estilo (de equipo) a través de la configuración. Aquellos. todo tu equipo tendrá el mismo estilo de código.
php-cs + php-cbf (PHP CodeSniffer + PHP Code Beautifier) - Es un conjunto de dos scripts PHP; La secuencia de comandos phpcs principal, que extrae archivos PHP, JavaScript y CSS para detectar violaciones de un estándar de codificación específico, y la segunda secuencia de comandos phpcbf corrige automáticamente las violaciones de codificación comunes. Herramienta similar a php-cs-fixer.
php-md (PHP Mess Detector) - Proyecto paraleloPHP Depend , que pretende ser el equivalente en PHP de la conocida herramienta Java PMD. Toma una base de código fuente PHP dada y busca varios problemas potenciales en esta fuente. Estos problemas pueden ser errores de sintaxis, código subóptimo, expresiones demasiado complejas, parámetros / métodos / propiedades no utilizados.
php-cpd (Detector de copiar / pegar PHP) - Detector de copiar / pegar para código PHP. Aquellos. encuentra los mismos bloques de código en diferentes partes de la aplicación que se pueden mover a funciones / métodos separados.
Puede profundizar en la revisión automática de código y probablemente encontrará muchas otras herramientas interesantes.
Salida
Usando las herramientas disponibles en el mundo del desarrollo, puede automatizar muchos procesos de rutina para verificar el código, lo que mejorará su calidad en un orden de magnitud (ya que excluimos el factor humano). Para una mayor confianza en el uso de estas herramientas por parte de todo el equipo, puede inyectarlas en un script previo a la confirmación que se ejecuta antes de que la confirmación se cree en su sistema de control de código fuente.