{"id":229629,"date":"2022-11-07T14:09:00","date_gmt":"2022-11-07T11:09:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229629"},"modified":"2022-11-09T11:32:00","modified_gmt":"2022-11-09T08:32:00","slug":"guardrails-do-projeto-escrevendo-para-producao","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/guardrails-do-projeto-escrevendo-para-producao\/","title":{"rendered":"Guardrails do projeto: escrevendo para produ\u00e7\u00e3o"},"content":{"rendered":"\n<p>Nos \u00faltimos artigos, falei sobre algumas coisas (salvo para realmente escrever para produ\u00e7\u00e3o) que ajudam a executar um projeto bem-sucedido:<\/p>\n<ol>\n<li>Os perigos do &#8221; <a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/guarda-corpos-do-projeto-projeto-pelo-comite\/\" title=\"design por comit\u00ea\" >design por comit\u00ea<\/a> &quot;,<\/li>\n<li>Considera\u00e7\u00f5es para <a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/protecao-do-projeto-ambientes-de-provisionamento\/\" title=\"provisionar um ambiente\" >provisionar um ambiente<\/a>.<\/li>\n<\/ol>\n<p>A \u00faltima coisa que quero abordar sobre o aprendizado que experimentei at\u00e9 agora \u00e9 sobre manter as chaves proverbiais do reino da escrita para a produ\u00e7\u00e3o e por que isso importa.<\/p>\n<h2>Escrevendo para Produ\u00e7\u00e3o<\/h2>\n<p>A ideia de escrever para produ\u00e7\u00e3o pode parecer o guardrail mais dogm\u00e1tico dos mencionados, porque geralmente \u00e9 bom para quem est\u00e1 construindo a solu\u00e7\u00e3o e conhece os meandros de como est\u00e1 funcionando.<\/p>\n<p>As outras partes interessadas provavelmente n\u00e3o (mas se o fizerem e a equipe de desenvolvimento estiver bem com os outros usando o controle de vers\u00e3o para lidar com isso, v\u00e1 em frente).<\/p>\n<p>Quem tem permiss\u00e3o para administrar essas coisas, realmente?<\/p>\n<p>Lembre-se, por\u00e9m, como mencionado <a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/protecao-do-projeto-ambientes-de-provisionamento\/\" title=\"anteriormente nesta s\u00e9rie\" >anteriormente nesta s\u00e9rie<\/a>, a maneira como estamos implantando nossos projetos mudou agora, de modo que geralmente temos implanta\u00e7\u00e3o cont\u00ednua e integra\u00e7\u00e3o cont\u00ednua.<\/p>\n<p>E muitas vezes, esses servi\u00e7os s\u00e3o conectados a um reposit\u00f3rio de c\u00f3digo-fonte, como o <a href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GitHub<\/a>, e um sistema de mensagens (que, por sua vez, pode ser conectado ao <a href=\"https:\/\/tommcfarlin.com\/business-foundations\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Slack<\/a>, o que acho \u00fatil).<\/p>\n<p>Para que as pessoas da equipe estejam cientes do que foi implantado e quando e saibam como obter o c\u00f3digo (que \u00e9 do reposit\u00f3rio, n\u00e3o do download via S\/FTP), se necess\u00e1rio.<\/p>\n<p>Quando um hotfix \u00e9 necess\u00e1rio, ainda deve haver um procedimento em vigor. Talvez algu\u00e9m esteja de plant\u00e3o e haja um processo pelo qual ramifica\u00e7\u00e3o, mesclagem, marca\u00e7\u00e3o e <a href=\"http:\/\/semver.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">controle de vers\u00e3o sem\u00e2ntica<\/a> sejam usados.<\/p>\n<p>Independentemente disso, n\u00e3o se trata tanto de como o processo funciona; \u00e9 que est\u00e1 no lugar e que \u00e9 seguido.<\/p>\n<p>Claro, essas coisas n\u00e3o s\u00e3o postas em pr\u00e1tica para tornar o desenvolvimento mais complicado (embora eu entenda como isso pode parecer). \u00c9 pelo contr\u00e1rio. \u00c9 por v\u00e1rios motivos:<\/p>\n<ul>\n<li>para manter a implanta\u00e7\u00e3o cont\u00ednua, voc\u00ea sabe, cont\u00ednua,<\/li>\n<li>ter testes integrados,<\/li>\n<li>para medir continuamente os padr\u00f5es de codifica\u00e7\u00e3o ou a qualidade do c\u00f3digo,<\/li>\n<li>para evitar a codifica\u00e7\u00e3o de cowboy,<\/li>\n<li>e mais.<\/li>\n<\/ul>\n<p>N\u00e3o se trata tanto de manter outras pessoas de fora, mas se for responsabilidade dos desenvolvedores empurrar o c\u00f3digo, ent\u00e3o algu\u00e9m deveria realmente ter acesso de escrita ao servidor?<\/p>\n<p>E essa \u00e9 a linha de fundo: se voc\u00ea est\u00e1 trabalhando em uma equipe onde os processos que voc\u00ea tem podem minar completamente o trabalho que voc\u00ea est\u00e1 fazendo, afinal, qual \u00e9 o prop\u00f3sito do processo?<\/p>\n<p>Porque a qualquer momento pode aparecer outra pessoa e isso desconsiderar tudo o que voc\u00ea fez. Voc\u00ea \u00e9 ent\u00e3o, no m\u00ednimo:<\/p>\n<ul>\n<li>preso em ter que puxar suas altera\u00e7\u00f5es provavelmente via S\/FTP,<\/li>\n<li>compar\u00e1-lo usando uma ferramenta de compara\u00e7\u00e3o com uma ramifica\u00e7\u00e3o em que algu\u00e9m est\u00e1 trabalhando,<\/li>\n<li>implementar as mudan\u00e7as (vamos descobrir por que elas foram feitas),<\/li>\n<li>e, em seguida, voltar a trabalhar nos requisitos.<\/li>\n<\/ul>\n<p>Parece agitado quando voc\u00ea coloca assim, mas \u00e9 exatamente o que acontece.<\/p>\n<h2>O take-away<\/h2>\n<p>Ent\u00e3o, qual \u00e9 o prop\u00f3sito dos \u00faltimos posts? Se eu tivesse que resumir da forma mais sucinta poss\u00edvel, seria:<\/p>\n<p>Quando se trata de um projeto, conhe\u00e7a suas responsabilidades e n\u00e3o saia delas. Caso contr\u00e1rio, voc\u00ea corre o risco de descarrilar a coisa toda.<\/p>\n<p>Isso vale para desenvolvedores, designers, clientes, profissionais de marketing, gerentes de projeto, etc. Como as fun\u00e7\u00f5es s\u00e3o designadas, n\u00e3o sei muito (quer dizer, geralmente fica claro quem deve ser quem nas fun\u00e7\u00f5es acima), mas quero dizer em termos de quem \u00e9 a pessoa real \u2013 o propriet\u00e1rio do projeto \u2013 para todo o projeto.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-166402-61e7935047b12.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-166402-61e7935047b12.jpg\" alt=\"Guardrails do projeto: escrevendo para produ\u00e7\u00e3o\" ><\/a><\/p>\n<p>N\u00e3o seja assim.<\/p>\n<p>E dependendo de como tudo isso acontece, o projeto pode ser um conjunto relativamente simples de trabalho do dia-a-dia.<\/p>\n<p>Tanto quanto poss\u00edvel, n\u00e3o queremos aproveitar o que estamos fazendo<\/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>Quero abordar o aprendizado at\u00e9 agora sobre manter as chaves do reino da escrita para a produ\u00e7\u00e3o e por que isso importa.<\/p>\n","protected":false},"author":1,"featured_media":166403,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[753,722],"tags":[1170],"class_list":["post-229629","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-aberto","category-desenvolvedor","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/229629","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=229629"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/229629\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/166403"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=229629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=229629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=229629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}