Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Análise de Projetos PHP

Igor Duarte
December 07, 2019

Análise de Projetos PHP

Evento: PHP Conference Brasil 2019
Por PHP ser uma linguagem interpretada, erros existentes no código só serão descobertos quando foram executados.
Testes automatizados são uma ferramenta importante para prevensão de erros, mas como é possível verificar erros que podem passar despercebidos pelos testes ou inconsistências no projeto?!
Nessa talk vamos ver ferramentas que permitem realizar análises dos códigos em nossos projetos.
Com elas podemos verificar erros, complexidade, adequeção a boas práticas e PSRs e até mesmo uma analise de performance.

Igor Duarte

December 07, 2019
Tweet

More Decks by Igor Duarte

Other Decks in Technology

Transcript

  1. • Sistemas de Informação - ULBRA • Software Developer •

    Developer há 6 anos • Coordenador da Comunidade • Palestrante e Escritor • Criador de ElePHPants • Gamer nas horas vagas ;) Igor Santos
  2. • Motivação • Caso de Uso • PHP Loc •

    PHP CodeSniffer • PHP Insights • PHP Metrics • PHP CS Fixer • PHP Stan • Menção Honrosa • Dica Bagual Roteiro
  3. Motivação Por PHP ser uma linguagem interpretada, não existe um

    compilador, isso significa que falhas e erros só serão percebidos em tempo de execução do código. Testes automatizados são uma ferramenta importante para prevenção de erros, mas como é possível verificar erros que podem passar despercebidos pelos testes ou inconsistências no projeto? Por isso trouxe aqui hoje algumas ferramentas para análise de código, que permitem realizar uma depuração do projeto e assim, verificar por: erros, bugs, complexidade e adequação de boas práticas. Benefícios Além de encontrar problemas e reduzir os defeitos de código, traz um aprendizado de melhores práticas entre desenvolvedores. Também sendo possível a inclusão destas ferramentas junto a integração contínua.
  4. PHP Loc Ferramenta para medir rapidamente o tamanho e analisar

    a estrutura de um projeto PHP. https://github.com/sebastianbergmann/phploc
  5. PHP CodeSniffer Ferramenta para análise dos padrões em seu código.

    https://github.com/squizlabs/PHP_CodeSniffer
  6. Análise No resultado podemos analisar: • Quantidade de erros Encontrados.

    • Primeira coluna: ◦ A linha onde o erro se encontra. • Segunda coluna: ◦ Mensagem de ERRO. • Terceira coluna: ◦ A descrição do erro encontrado. • E por fim, o tempo decorrido da análise e o total de memória utilizada.
  7. PHP Insights Ferramenta para análise da qualidade do código dos

    seus projetos. https://github.com/nunomaduro/phpinsights
  8. Análise A análise é dividida em quatro categorias: • Código:

    ◦ Classes, Comentários, Funções. • Complexidade: ◦ Nível de complexidade algorítmica. • Arquitetura: ◦ Tamanho de métodos e classes. • Estilo: ◦ Formatação, Padronização. Logo embaixo, pressionando enter serão exibidas as issues apuradas para cada card, sendo assim, os tópicos que precisamos rever para que consigamos melhorar a qualidade de código do nosso projeto.
  9. PHP Metrics Ferramenta que fornece métricas sobre o projeto e

    as classes PHP em um relatório HTML. https://github.com/phpmetrics/PhpMetrics
  10. Análise Após rodar o comando de execução, dentro da raiz

    do seu projeto irá criar o diretório myreport contendo uma página web com detalhes do seu projeto. Sendo alguns deles: • Violações • Linhas de Código • Classes • Complexidades • Dependências Entre outras métricas.
  11. PHP CS Fixer Ferramenta CLI que corrige arquivos PHP adequando-os

    para padrões de codificação (Coding Standards). https://github.com/FriendsOfPHP/PHP-CS-Fixer
  12. PHP Stan Ferramenta para encontrar erros no seu código sem

    executá-lo. https://github.com/phpstan/phpstan https://github.com/nunomaduro/larastan (Para projetos Laravel)