Olá pessoal tudo bem?
Hoje temos diversas ferramentas que nos auxiliam em nosso dia a dia, para que tarefas repetitivas sejam realizadas de formas mais práticas e eficientes. Dito isso trago uma ferramenta (que não é nova) porem que irá ajudar com certeza, poupando muito tempo no seu dia.
O nome desta ferramenta é PHP CodeSniffer, e sua finalidade é analisar os padrões em seu código, auxiliando na qualidade do código produzido.
Podemos acessar a ferramenta em seu site, ou seu repositório no GitHub.
Instalação
Requerido PHP 5.1.2 ou superior (Pelo amor de Deus, se você usa uma versão inferior, corra e atualize o seu PHP AGORA!!!).
Podemos obter o PHP CodeSniffer de diversas maneiras, sendo:
URL
|
|
PEAR
|
|
Composer
|
|
Para essa demonstração irei utilizar o CURL para obter o arquivo .phar. A estrutura de diretório e arquivo será a seguinte:
- App
- MyClass.php
- phpcs.phar
Abaixo vemos a estrutura de nossa classe:
|
|
Como podemos notar, estamos infringindo diversas regras da PSR nesta pequena classe, agora imagine analisar 5, 9 ou 20 classes para verificar se algum programador não deixou escapar nada.
Para realizar o processo de scan, devemos acessar o diretório onde está contido as classes que deseja analisar.
Após acessar o diretório devemos executar o seguinte comando.
|
|
Após a execução do comando será exibido o resultado da análise:
No resultado podemos analisar:
- Quantidade de erros Encontrados.
- Primeira coluna:
- A linha onde o erro se encontra.
- Primeira coluna:
- Segunda coluna:
- Mensagem de ERRO.
- Terceira coluna:
- A descrição do erro encontrado.
- E no final, o tempo decorrido da análise e o total de memória utilizada.
Ok, descobri o erro e agora? Você deve corrigir os erros!
Sim isso é óbvio de se ler, porem na prática é muito comum desenvolvedores jogarem para debaixo do tapete toda a sujeira encontrada (ou produzida). E esta atitude só gera mais trabalho, siga a lei do escoteiro “Deixe o local melhor do que você o encontrou”, sim isso dá trabalho, porem a recompensa é certa, pois na próxima vez o esforço e as dores de cabeça serão menores.
|
|
Após corrigirmos o que nos foi sugerido, vamos novamente executar a análise para garantir total correção de erros.
Viram como o processo facilita nossa vida, claro que o que demonstrei para vocês é apenas uma pequena parte do potencial desta ferramenta, caso queiram se aprofundar acessem a documentação.
Vou descrever algumas opções de configuração bem interessantes para utilizar no processo de análise.
Gerar um relatório sintético
Devemos utilizar o complemento –report=summary
|
|
Acompanhamento do processo
Devemos utilizar o comando -p e assim para cada arquivo com erro será exibido o caractere “E” no terminal.
|
|
Especificar o code standard desejado
Sim podemos especificar qual o padrão o scan deve analisar, com isso dispomos das seguintes opções:
- PEAR (default);
- PHPCS;
- PSR1;
- PSR2;
- Squiz;
- Zend.
Recomendo a análise utilizando as opções PSR1 e PSR2, pois naturalmente seguem os padrões do PHP-FIG.
Apesar de sua fácil utilização, e aparentemente quase nenhum requerimento, analise e valide o ganho de produtividade que a ferramenta irá lhe proporcionar. Pois podemos realizar analises rápidas que nos orientam no processo de codificação, melhorando a qualidade do nosso código.
Convido a todos que testem e deixem nos comentários o que acharam da ferramenta.
Um grande abraço a todos e até a próxima.