Qualidade do código, ferramentas para ajudar

Boa tarde, queridos Habrovitas!



Recentemente, na comunidade PHP, ouço discussões sobre revisão de código, decidi contribuir, quero falar sobre as possibilidades que visam simplificar sua vida e melhorar a qualidade do código em seu projeto. É relevante não apenas para PHP, existem ferramentas semelhantes descritas aqui também para outras linguagens de programação. Por exemplo, eu as aprendi quando participei de um projeto no NodeJS.



Quero compartilhar ferramentas projetadas para melhorar a qualidade do código, encontrar erros de sintaxe, trazer tudo para um estilo de código etc.



Pré-confirmação



Se você digitar “pre-commit php” em um mecanismo de pesquisa, ele fornecerá vários scripts prontos que analisam o código escrito. Para o git, o script deve ser colocado na pasta “.git / hooks /” e, toda vez que você o confirmar, ele será executado e se forem encontrados erros, ele simplesmente não permitirá que você insira o código no repositório. Alguns IDEs têm plugins separados que fazem a mesma coisa, mas e se você tiver uma equipe grande e todos usarem editores diferentes? E é mais fácil configurar esse script uma vez, carregando-o no seu repositório do que configurar seu IDE para cada desenvolvedor separadamente. O que é mais importante: neste script, você pode adicionar outras ferramentas usadas em sua equipe, como um analisador estático (por exemplo, phpstan) e / ou teste de unidade (por exemplo, phpunit )



Ferramentas para ajudar a melhorar a qualidade do código



php -l (somente verificação de sintaxe (lint)) é um verificador de sintaxe embutido no núcleo do PHP.



php-cs-fixer (Fixador de padrões de codificação PHP) - Corrige seu código ao PSR-1, PSR-2, etc. ou outras comunidades como o Symfony. Você também pode definir seu estilo (equipe) através da configuração. Essa. toda a sua equipe terá o mesmo estilo de código.



php-cs + php-cbf (PHP CodeSniffer + Embelezador de Código PHP) - É um conjunto de dois scripts PHP; O script phpcs principal, que extrai arquivos PHP, JavaScript e CSS para detectar violações de um padrão de codificação específico, e o segundo script phpcbf corrige automaticamente violações comuns de codificação. Ferramenta semelhante ao php-cs-fixer.



php-md (PHP Mess Detector) - Projeto paraleloPHP Depend , que visa ser o equivalente em PHP da conhecida ferramenta Java PMD. Toma uma base de código-fonte PHP especificada e procura vários problemas em potencial nessa fonte. Esses problemas podem ser erros de sintaxe, código abaixo do ideal, expressões excessivamente complexas, parâmetros / métodos / propriedades não utilizados.



php-cpd (PHP Copy / Paste Detector) - Copie / cole o detector para código PHP. Essa. localiza os mesmos blocos de código em diferentes partes do aplicativo que podem ser movidos para funções / métodos separados.



Você pode se aprofundar na revisão automatizada de código e provavelmente encontrará muitas outras ferramentas interessantes.



Resultado



Usando as ferramentas disponíveis no mundo do desenvolvimento, você pode automatizar muitos processos de rotina para verificar o código, o que melhorará sua qualidade em uma ordem de magnitude (uma vez que excluímos o fator humano). Para maior confiança no uso dessas ferramentas por toda a equipe, você pode injetá-las em um script de pré-confirmação que é executado antes da criação da confirmação em seu sistema de controle de origem.



All Articles