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