{"id":228963,"date":"2022-10-20T10:29:00","date_gmt":"2022-10-20T07:29:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228963"},"modified":"2022-11-09T04:59:11","modified_gmt":"2022-11-09T01:59:11","slug":"escrevendo-um-codigo-melhor-para-projetos-baseados-em-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/escrevendo-um-codigo-melhor-para-projetos-baseados-em-wordpress\/","title":{"rendered":"Escrevendo um c\u00f3digo melhor para projetos baseados em WordPress"},"content":{"rendered":"\n<p>N\u00e3o me lembro exatamente quando me deparei com o blog <a href=\"https:\/\/twitter.com\/spolsky\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">de Joel Spolsky,<\/a> <a href=\"https:\/\/www.joelonsoftware.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Joel on Software<\/a>, mas foi em algum momento no final do ensino m\u00e9dio.<\/p>\n<p>Eu n\u00e3o sabia o suficiente sobre todo o processo de desenvolvimento de software para entender muito do que ele estava falando, mas gostei de seu estilo de escrita e gostei do que ele tinha a dizer.<\/p>\n<p>Na verdade, eu era t\u00e3o f\u00e3 que, quando me formei, passei a comprar os livros dele (que eram cole\u00e7\u00f5es dos artigos do site dele) e os li de capa a capa. Eu mantinha c\u00f3pias deles na minha mesa de trabalho e usei um de seus livros \u2013 <a href=\"https:\/\/www.amazon.com\/Smart-Gets-Things-Done-Technical\/dp\/1590598385\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Smart and Gets Things Done<\/a> \u2013 quando eu era l\u00edder de equipe.<\/p>\n<p>Os artigos que mais me chamaram a aten\u00e7\u00e3o, por\u00e9m, foram aqueles que tratavam de escrever c\u00f3digo melhor. Aqui est\u00e1 a coisa, no entanto: esses artigos n\u00e3o inclu\u00edam nada sobre realmente escrever c\u00f3digo.<\/p>\n<h2>Escrevendo um c\u00f3digo melhor<\/h2>\n<p>Em vez disso, era tudo sobre os processos em torno de um c\u00f3digo melhor. E me deparei com um artigo \u2013 com 16 anos, no entanto \u2013 e ainda o acho t\u00e3o relevante hoje quanto quando o encontrei pela primeira vez.<\/p>\n<p>Exceto agora, eu me pergunto como isso se aplica ao <a href=\"https:\/\/pressware.co\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">meu trabalho de desenvolvimento atual<\/a>.<\/p>\n<h3>O teste de Joel<\/h3>\n<p>Primeiro, o artigo em quest\u00e3o \u00e9 um que me pego lendo pelo menos uma vez por m\u00eas \u2013 se n\u00e3o pelo menos uma vez por semana \u2013 e tudo gira em torno do que ele chama <a href=\"https:\/\/www.joelonsoftware.com\/2000\/08\/09\/the-joel-test-12-steps-to-better-code\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">de The Joel Test<\/a>. S\u00e3o doze perguntas que voc\u00ea aplica \u00e0 sua equipe de desenvolvimento atual.<\/p>\n<ol>\n<li>Voc\u00ea usa o controle de origem?<\/li>\n<li>Voc\u00ea pode fazer uma constru\u00e7\u00e3o em uma etapa?<\/li>\n<li>Voc\u00ea faz builds di\u00e1rios?<\/li>\n<li>Voc\u00ea tem um banco de dados de bugs?<\/li>\n<li>Voc\u00ea corrige bugs antes de escrever um novo c\u00f3digo?<\/li>\n<li>Voc\u00ea tem uma agenda atualizada?<\/li>\n<li>Voc\u00ea tem uma especifica\u00e7\u00e3o?<\/li>\n<li>Os programadores t\u00eam condi\u00e7\u00f5es de trabalho silenciosas?<\/li>\n<li>Voc\u00ea usa as melhores ferramentas que o dinheiro pode comprar?<\/li>\n<li>Voc\u00ea tem testadores?<\/li>\n<li>Os novos candidatos escrevem c\u00f3digo durante a entrevista?<\/li>\n<li>Voc\u00ea faz testes de usabilidade de corredor?<\/li>\n<\/ol>\n<p>Dado que essas quest\u00f5es foram escritas h\u00e1 16 anos e s\u00e3o amplamente baseadas em c\u00f3digo compilado, algumas das terminologias podem precisar ser ajustadas.<\/p>\n<blockquote>\n<p>O legal do Teste Joel \u00e9 que \u00e9 f\u00e1cil obter um r\u00e1pido <strong>sim<\/strong> ou <strong>n\u00e3o<\/strong> para cada pergunta. Voc\u00ea n\u00e3o precisa descobrir linhas de c\u00f3digo por dia ou erros m\u00e9dios por ponto de inflex\u00e3o. D\u00ea \u00e0 sua equipe 1 ponto para cada resposta &#8220;sim&quot;.<\/p>\n<\/blockquote>\n<p>Por exemplo, em vez de perguntar se voc\u00ea pode fazer uma compila\u00e7\u00e3o em uma etapa, talvez dev\u00eassemos perguntar se podemos fazer uma implanta\u00e7\u00e3o em uma etapa. Voc\u00ea sabe o que quero dizer \u2013 fazer ajustes em coisas assim.<\/p>\n<p>Em segundo lugar, algumas das perguntas precisam ser adaptadas \u00e0s equipes remotas, porque n\u00e3o estamos mais no mesmo escrit\u00f3rio. Ou seja, em vez de fazer testes de usabilidade no corredor, voc\u00ea pode precisar pegar algu\u00e9m que voc\u00ea conhece online, envi\u00e1-lo para o seu ambiente de teste e perguntar sobre o projeto.<\/p>\n<h3>O teste de Joel para WordPress<\/h3>\n<p>Talvez, para aqueles de n\u00f3s que usam o WordPress como nossa base de desenvolvimento, nosso conjunto de perguntas seria algo assim:<\/p>\n<ol>\n<li>Voc\u00ea usa o controle de origem?<\/li>\n<li>Voc\u00ea pode fazer uma implanta\u00e7\u00e3o em uma etapa?<\/li>\n<li>Voc\u00ea faz implanta\u00e7\u00f5es di\u00e1rias?<\/li>\n<li>Voc\u00ea tem um banco de dados de bugs?<\/li>\n<li>Voc\u00ea corrige bugs antes de escrever um novo c\u00f3digo?<\/li>\n<li>Voc\u00ea tem uma agenda atualizada?<\/li>\n<li>Voc\u00ea tem requisitos e modelos?<\/li>\n<li>Os programadores t\u00eam condi\u00e7\u00f5es de trabalho silenciosas? Ou, se remoto, os programadores t\u00eam permiss\u00e3o para entrar no modo &#8220;N\u00e3o perturbe&#8221;?<\/li>\n<li>Voc\u00ea usa as melhores ferramentas do mercado, seja algo gratuito e de c\u00f3digo aberto ou algo premium?<\/li>\n<li>Voc\u00ea tem testadores? (E eu poderia perguntar se o or\u00e7amento do projeto permite tempo para escrever testes de unidade para testes automatizados tamb\u00e9m)?<\/li>\n<li>Os candidatos t\u00eam exemplos de c\u00f3digo dispon\u00edveis no GitHub, um blog ou um local dispon\u00edvel publicamente que pode ser revisado?<\/li>\n<li>Voc\u00ea tem um grupo de pessoas que voc\u00ea pode usar para testar seu trabalho em andamento?<\/li>\n<\/ol>\n<p>Novamente, isso \u00e9 amplamente baseado na ideia de uma equipe pequena e remota, em vez de uma grande empresa ou ag\u00eancia de produtos de n\u00edvel empresarial. Mas \u00e9 algo que eu ainda volto de vez em quando e me pergunto como as outras lojas se comparam.<\/p>\n<p>Ah, e a coisa toda de pontua\u00e7\u00e3o?<\/p>\n<blockquote>\n<p>Uma pontua\u00e7\u00e3o de 12 \u00e9 perfeita, 11 \u00e9 toler\u00e1vel, mas 10 ou menos e voc\u00ea tem s\u00e9rios problemas. A verdade \u00e9 que a maioria das organiza\u00e7\u00f5es de software est\u00e1 executando com uma pontua\u00e7\u00e3o de 2 ou 3 e precisam de ajuda s\u00e9ria\u2026<\/p>\n<\/blockquote>\n<p>Todos n\u00f3s temos algo para apontar, certo?<\/p>\n<h2>Para a pr\u00f3xima d\u00e9cada?<\/h2>\n<p>N\u00e3o \u00e9 tanto que eu ache que \u00e9 uma competi\u00e7\u00e3o, mas sei que gostaria de poder responder sim \u00e0 maioria dessas perguntas para mim e para aqueles com quem trabalho.<\/p>\n<p>Mas no momento deste artigo, posso dizer que n\u00e3o posso dizer sim a todos eles, muito menos talvez metade deles. Talvez at\u00e9 o final do ano, eu possa, no entanto.<\/p>\n<p>E talvez o resto de n\u00f3s que trabalhamos na ind\u00fastria possa avaliar nossas equipes em rela\u00e7\u00e3o a essas quest\u00f5es. Embora a Internet e as tecnologias relacionadas se movam rapidamente, essas quest\u00f5es t\u00eam se mantido bem por mais de uma d\u00e9cada.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O Joel Test, escrito h\u00e1 16 anos, trata de escrever c\u00f3digo melhor. Mas como isso se compara ao que fazemos com o WordPress?<\/p>\n","protected":false},"author":1,"featured_media":168259,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[722,920,846,867],"tags":[1170],"class_list":["post-228963","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvedor","category-outro","category-tutoriais","category-wordpress-8","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/228963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=228963"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/228963\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/168259"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=228963"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=228963"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=228963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}