WordPress Coding Standards: Código limpo & boas práticas!

WordPress Coding Standards - blog.vilourenco.com.br

Fala pessoal! Hoje quero contar algo para vocês: uma das coisas que mais me enche de orgulho e me faz brilhar os olhos é olhar meus códigos e vê-los limpos, de fácil entendimento para qualquer outro ser humano programador(a) e que esteja seguindo as boas práticas de programação, e no caso, falando de desenvolvimento com WordPress: Coding Standards. Atualmente existem diversas maneiras de aprendê-las e evoluir cada vez mais sua escrita!

Hoje, queria falar sobre o PHPCodeSniffer: ferramenta que revisa seu código e procura por erros, sugere melhorias e em alguns casos também realiza correções automáticas. No caso de desenvolvimento com plugins/temas podemos contar com o WordPress Coding Standards, onde você pode escolher revisar seu código sobre algumas opções, são elas:

Se você desenvolve utilizando WP eu sugiro fortemente que você revise seu código com os métodos acima.

Vamos lá, para que você utilize o WP Coding Standards terá de instalar o PHPCodeSniffer:

Linux (Ubuntu 14.04):

sudo pear install --alldeps php_codesniffer

E então:

git clone -b master https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git wpcs

Adicione o pacote wpcs no PEAR, não se esqueça de alterar o caminho.

phpcs --config-set installed_paths /CAMINHO/PARA/wpcs

Agora, para verificar se está instalado rode o comando abaixo que listará todos os pacotes dentro do PEAR, você deverá ver WordPress-Core, Docs, VIP, etc…

phpcs -i

Se instalado corretamente, deverá retornar os pacotes instalados (no seu caso podem não ser todos abaixo, mas os com prefixo WordPress deverão estar):

The installed coding standards are MySource, PEAR, PHPCS, PSR1, PSR2, Squiz, Zend, WordPress, WordPress-Core, WordPress-Docs, WordPress-Extra and WordPress-VIP

Para verificar seu código basta rodar:

phpcs --standard=WordPress-Core wp-load.php

O parâmetro –standard define qual método irá seguir para analisar seu código (dentre os explicados no ínicio do post, neste caso eu estou utilizando o WordPress-Core.

Quando encontrar erros que possam ser corrigidos automaticamente, ele exibirá e basta alterar o phpcs por phpcbf:

phpcbf --standard=WordPress-Core wp-load.php


Mac

Instalando o PEAR:

sudo curl -O http://pear.php.net/go-pear.phar
sudo php -d detect_unicode=0 go-pear.phar
pear upgrade pear
pear upgrade

Instalando o PHPCodeSniffer:

sudo pear install --alldeps php_codesniffer

Veja se está instalado:

phpcs -i

Se instalado corretamente, retornará a seguinte informação:

The installed coding standards are MySource, PEAR, PHPCS, PSR1, PSR2, Squiz and Zend

Caso retorne o erro abaixo:


Warning: include_once(PHP/CodeSniffer/CLI.php): failed to open stream: No such file or directory in /usr/bin/phpcs on line 22

Warning: include_once(): Failed opening 'PHP/CodeSniffer/CLI.php' for inclusion (include_path='.:') in /usr/bin/phpcs on line 22

Fatal error: Class 'PHP_CodeSniffer_CLI' not found in /usr/bin/phpcs on line 25

Para resolver é fácil, abra o arquivo php.ini:

sudo vim /etc/php.ini

E adicione o path do PEAR:

include_path = ".:/usr/share/pear"

Instale o WPCS (WordPress CodeSniffer):

git clone -b master https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git wpcs

Adicione o pacote wpcs no PEAR, não se esqueça de alterar o caminho.

phpcs --config-set installed_paths /CAMINHO/PARA/wpcs

Verifique novamente:

phpcs -i

Se instalado corretamente, deverá retornar os pacotes instalados (no seu caso podem não ser todos abaixo, mas os com prefixo WordPress deverão estar):

The installed coding standards are MySource, PEAR, PHPCS, PSR1, PSR2, Squiz, Zend, WordPress, WordPress-Core, WordPress-Docs, WordPress-Extra and WordPress-VIP

E então:

phpcs --standard=WordPress-Core wp-load.php

O parâmetro –standard define qual método irá seguir para analisar seu código (dentre os explicados no ínicio do post, neste caso eu estou utilizando o WordPress-Core.

Quando encontrar erros que possam ser corrigidos automaticamente, ele exibirá e basta alterar o phpcs por phpcbf:

phpcbf --standard=WordPress-Core wp-load.php

Caso tenha problemas ao utilizar o comando phpcs, utilize este:

php phpcs.phar --standard=WordPress-Core wp-load.php

E para corrigir:

php phpcbf.phar --standard=WordPress-Core wp-load.php


Avisos finais:

Apenas lembrando que neste caso wp-load.php conforme acima é o exemplo de arquivo a ser utilizado, você deverá inserir o caminho dos seus arquivos, ou diretório, caso queira.

Alguns links complementares com mais informações e detalhes:
https://www.jetbrains.com/help/phpstorm/2016.3/using-php-code-sniffer-tool.html
https://github.com/squizlabs/PHP_CodeSniffer
https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards

É isso, pessoal! Mais uma vez recomendo fortemente o uso, vale muito a pena. Desta forma você terá seus códigos seguindo os padrões exigidos pelos próprios requisitos de contribuição do WordPress e também um desenvolvimento profissional!

Qualquer tipo de dúvida ou informação adicional, basta comentar abaixo!
Espero que tenham gostado! Bom fim de semana 😉