mulher programando em um computador

O que bons desenvolvedores WordPress devem saber?6 min leitura

Uma lista com os requisitos do que bons desenvolvedores WordPress devem saber, para ajudar nos estudos ou identificar outros bons profissionais.

Já faz um tempo que me pergunto o que bons desenvolvedores WordPress devem saber e decidi escrever este texto para me ajudar a encontrar a resposta. O principal objetivo é conseguir direcionar meus estudos para ser um melhor desenvolvedor WordPress, assim como me ajudar a identificar outros profissionais para trabalhar comigo ou recomendá-los.

Baseado na minha experiência com o WordPress, desde 2009, criei uma lista de itens que considero importante saber.

Ambiente de desenvolvimento local específico por projeto

Quando comecei a utilizar o WordPress, um dos primeiros grandes desafios foi aprender como instalar e configurar todos os requisitos para executá-lo no meu computador. Uma vez superado, era algo que eu só me preocupava novamente quando decidia formatar o computador.

Com o passar dos anos aprendi que alguns problemas (bugs) s√≥ acontecem em algumas configura√ß√Ķes espec√≠ficas de servidor e a maneira mais f√°cil de resolv√™-los era ter um ambiente de desenvolvimento local o mais parecido poss√≠vel com o de produ√ß√£o. Ter que ficar desinstalando, instalando e configurando todo o ambiente de desenvolvimento local toda vez que eu ia criar um site para um servidor de hospedagem com configura√ß√Ķes diferentes, √© completamente invi√°vel.

Sem falar que quando comecei a trabalhar com outros desenvolvedores que utilizavam configura√ß√Ķes e sistemas operacionais diferentes do meu, a situa√ß√£o complicava ainda mais. A frase “mas no meu computador funciona” nunca deve ser dita como uma resposta para um problema, mas sim como um pontap√© inicial para tentar achar a resposta do porque algo s√≥ funciona em determinados casos.

Para resolver este problema, √© poss√≠vel utilizar o Docker para ter um ambiente de desenvolvimento isolado, com configura√ß√Ķes espec√≠ficas para um determinado projeto. √Č importante estar familiarizado com essa solu√ß√£o, pois √© a utilizado oficialmente pela comunidade de WordPress.

Padr√Ķes de c√≥digo

O WordPress possui padr√Ķes de c√≥digo para PHP, CSS e JavaScript e utiliz√°-los √© essencial para manter o c√≥digo consistente e leg√≠vel para outros desenvolvedores. Este ponto acaba sendo um grande diferencial, pois infelizmente n√£o s√£o muitos desenvolvedores que se preocupam com este requisito. Isso geralmente acontece quando se pensa apenas na entrega final de um projeto, sem a preocupa√ß√£o com o trabalho que futuros desenvolvedores ter√£o naquele c√≥digo.

Por experi√™ncia pr√≥pria, sei que prazos muitas vezes s√£o curtos e algo assim pode parecer uma “perda de tempo”. Todo mundo que j√° trabalhou muitas vezes em c√≥digos de outras pessoas, sabe quanta diferen√ßa isso faz. Mesmo sabendo disso, at√© agora ainda n√£o resolvi esta pend√™ncia, mas farei o mais r√°pido poss√≠vel.

Ter um editor de c√≥digo bem configurado √© um requisito para seguir os padr√Ķes. Conhecer bem como ele pode ajudar para facilitar outras tarefas √© tamb√©m muito importante. Por isso tamb√©m quero aprender mais sobre o Visual Studio Code, que √© o software que utilizo.

Sistemas de controle de vers√Ķes

Acredito que sistemas de controle de vers√£o s√£o um dos pilares que possibilitam o desenvolvimento coletivo, sem falar que s√£o essenciais para manter minha sanidade um bom controle sobre as altera√ß√Ķes de c√≥digo e n√£o ter mais que ficar utilizando arquivos com nomes como: index2.php, index3.php, index-original.php, entre outros.

O WordPress utiliza oficialmente o Subversion, mais conhecido como SVN, e vários plugins e temas utilizam o Git, devido à muitas melhorias que ele oferece em relação ao primeiro. A escolha da segunda opção envolve o trabalho de replicar tudo para o SVN para que seja enviado ao repositório oficial, porém o custo disso ainda é pequeno em relação as vantagens que o Git oferece.

Algumas coisas que considero importante saber:

  • Fazer forks e pull requests;
  • Usar branches e tags;
  • Lidar com conflitos ao fazer merge;
  • Escrever boas mensagens de commit;

Domínio técnico sobre o WordPress

Para ser um bom desenvolvedor WordPress, √© necess√°rio saber mais do que o b√°sico de HTML, CSS, PHP e JavaScript. √Č muito importante conhecer as boas pr√°ticas de cada um deles e estar bem familiarizado com a estrutura do WordPress. Como este √© um dos t√≥picos mais extensos, achei melhor criar uma lista com alguns dos itens mais importantes para cada um.

  • HTML
    • HTML 5;
    • SEO t√©cnico;
  • CSS
    • Pr√©-processadores (principalmente Sass);
    • CSS Grid e Flexbox;
    • Estilos de escrita de CSS (OOCSS, SMACSS, BEM, ..);
    • Suporte a v√°rios navegadores;
  • PHP
    • Programa√ß√£o orientada a objetos;
    • Boas pr√°ticas de seguran√ßa;
    • Performance;
  • WordPress
    • Estrutura de arquivos, diret√≥rios e banco de dados;
    • Hooks: actions e filters;
    • CPT e taxonomies;
    • Fun√ß√Ķes (ex: wp_list_pluck) e constantes gen√©ricas (ex: MINUTE_IN_SECONDS);
    • Rest API;
    • WP-CLI;
    • Gutenberg;
  • JavaScript
    • ES6;
    • React;
  • Outros
    • Servidor (Apache ou NGINX): configura√ß√£o b√°sica, c√≥digos de redirecionamento e resposta;
    • Banco de dados SQL (MariaDB): cria√ß√£o, consulta e edi√ß√£o de tabelas e registros.

Fluência em Inglês

O idioma oficial do WordPress e da maioria do material criado sobre ele, √© em ingl√™s, por isso √© muito importante estar confort√°vel para ler e escrever neste idioma. As principais atividades s√£o ler e escrever documenta√ß√Ķes (dentro e fora do c√≥digo) e trocar mensagens (e-mail, chat ou f√≥rum).

Uma ferramenta utilizo para me ajudar nisso é o Grammarly, um verificador de gramática on-line (com plano gratuito) que vai muito além da correção de palavras específicas e tem integração com os principais navegadores.

Participar da comunidade de WordPress

Por incr√≠vel que pare√ßa, conhe√ßo poucos desenvolvedores que participam de forma ativa na comunidade de WordPress do Brasil e este √© o primeiro lugar que me vem na cabe√ßa quando penso em contratar e indicar um profissional. Ent√£o se destacar neste ambiente n√£o √© dif√≠cil e pode abrir muitas oportunidades. Al√©m disso, o perfil p√ļblico de usu√°rio do WordPress.org √© um √≥timo complemento para o seu portf√≥lio.

Sei que participar de uma comunidade exige tempo, então se você puder dedicar apenas algumas horas por mês, recomendo ir em um dos encontros presenciais de WordPress (também conhecidos como meetups). Para saber como participar mais ativamente, veja o guia oficial da comunidade Brasileira.

Importante: A comunidade é formada inteiramente por voluntários, então a motivação principal por trás de cada ação deve ser não comercial.

Resumo

Para resumir, agrupei todos os itens em uma lista mais geral:

  1. Ambiente de desenvolvimento local com Docker;
  2. Seguir os padr√Ķes de c√≥digo do WordPress (PHP, CSS e JS);
  3. Usar sistemas de controle de vers√Ķes (Git e SVN);
  4. Domínio técnico sobre o WordPress;
  5. Ter fluência no inglês;
  6. Participar da comunidade de WordPress.

Atenção: a ideia desta lista é estar em constante atualização e gostaria muito da sua ajuda nos comentários para entender o que você considera que bons desenvolvedores WordPress devem saber.

Para ajudar a se aprofundar nos itens acima, de uma maneira mais pr√°tica, escrevi o post projetos para aprender a desenvolver no WordPress.

Extra: Palestra no meetup da comunidade de WordPress S√£o Paulo

No dia 14 de abril de 2020 fiz uma palestra gratuita e on-line sobre os tópicos deste texto no meetup da comunidade de WordPress São Paulo. Você pode assistir ela na íntegra abaixo:

Similar Posts

5 Comments

  1. Para configurar o Code Standards utilizei como base estes dois artigos, para automatizar o processo:

    https://webdevstudios.com/2017/04/06/lint-code-like-boss/
    http://numediaweb.com/php-code-beautifier-phpstorm/1616 (Correção do Path, no meu caso, precisei disso para utilizar no VS Code).

    Tem utilizado algum gerenciador de tarefas? Gosto da forma que o Gulp trabalha, embora n√£o tenha implementado ele no meu ambiente ainda.

    E por falar em Docker, tenho utilizado o Easy Engine no meu ambiente local, que agora na V4 é baseado em Docker, embora eu ainda prefira a versatilidade do fork da V3 (WordOps).

    1. Obrigado pelas referências! Vou ver elas com calma.

      Eu usava o Grunt antigamente, mas estou utilizando o Gulp agora. Gosto dos dois e √© bem √ļtil entender um pouco mais como montar um arquivo de configura√ß√£o para automatizar algumas tarefas repetitivas.

      Estou aprendendo mais como usar o Docker para n√£o ter que depender de outras ferramentas, em breve vou escrever mais sobre isso.

  2. Muito obrigado por este trilho de treinamento. Estava atr√°s de algo assim, se tiveres mais algumas sugest√Ķes, eu aceito de bom grado.

Você tem algo construtivo sobre este texto para dizer? Então comente abaixo