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)
- 766