Livre-se dos erros: Análise Estática em PHP
Marcela Godoy
PHP Experience (Abril/2019)
Marcela Godoy
Coorganizadora do PHPSP Campinas
Incentivadora de Mulheres na Tecnologia
❤️📖☕
[@magodoy88]
Evangelista PHPWomenBr
Desenvolvedora back-end 💙 PHP
E para começar...
Linguagem Compilada
Compilador => Código faz sentido?
Análise realizada ANTES da execução
Tipos definidos, métodos existentes, variáveis não nulas...
O Compilador é a primeira barreira para os erros que a aplicação pode apresentar.
Linguagem Interpretada
Não passa pelo Compilador
Falhas percebidas ao executar código
Precisamos 'blindar' o código
Testes Unitários
Análise Estática
> Custo
> Tempo
< Tempo
+ Simples
O que é
Análise
Estática?
"Análise estática é um método de depuração da aplicação através da análise de código, sem necessidade de execução do mesmo."
Verificação por Estilo
Verificação por Boas Práticas
Verificação por Bugs
Porque utilizar?
Reduz entre 5% e 30% os defeitos de código.
Aprendizagem de melhores práticas entre os desenvolvedores.
Porque utilizar?
Disponibilização mais rápida no mercado.
Inclusão na integração contínua.
Somente a análise estática não basta!
Code Review
Análise estática não substitui code review
Code Review
Erros relativos à lógica de negócio.
Análise Estática
+
Code Review
Testes Unitários
"Diminuir, não retirar!"
Testar o que realmente importa.
Análise Estática
+
Testes Unitários
Análise Estática
+
Testes Unitários
+
Code Review
Ferramentas para
Análise Estática
Realiza a análise dos padrões de Código (PSR-1 e PSR-2).
Ajuda com a produção de código limpo e organizado.
Ferramenta essencial no desenvolvimento.
https://github.com/squizlabs/PHP_CodeSniffer
Tem como objetivo encontrar erros em seu código.
Fácil utilização e rápida execução.
Existência e acessibilidade a métodos e funções.
Variáveis respeitando escopos.
Duplicações de código.
https://github.com/phpstan/phpstan
Concluindo...
Análise estática pode nos poupar tempo, mas não substitui outros métodos.
O PHP conta com boas ferramentas para análise estática como CodeSniffer e PHPStan
Análise estática ocorre sem a necessidade da execução do código e pode ser a primeira barreira a falhas.
Até a próxima ;)
@magodoy88
magodoycruz@gmail.com
#BoraTrocarIdeia
Livre-se dos erros: Análise estática em PHP (PHPXP19)
By Marcela Godoy Cruz
Livre-se dos erros: Análise estática em PHP (PHPXP19)
- 687