{"id":230621,"date":"2022-12-01T19:06:00","date_gmt":"2022-12-01T16:06:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230621"},"modified":"2022-11-09T23:14:48","modified_gmt":"2022-11-09T20:14:48","slug":"envie-ou-morra-com-ou-sem-qualidade-embora","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/envie-ou-morra-com-ou-sem-qualidade-embora\/","title":{"rendered":"Envie ou morra (com ou sem qualidade, embora?)"},"content":{"rendered":"\n<p>Uma das ideias que me intrigam \u00e9 a mentalidade &#8220;ship it or die&quot;. Em rela\u00e7\u00e3o ao nome, existem varia\u00e7\u00f5es, mas a ideia por tr\u00e1s da frase \u00e9 simples:<\/p>\n<p>Se voc\u00ea tem uma ideia, leve-a do conceito ao produto o mais r\u00e1pido poss\u00edvel.<\/p>\n<p>Claro, a ideia de chegar ao conceito de um produto tamb\u00e9m pode ser chamada de &#8220;conceito ao dinheiro&#8221;, mas nunca h\u00e1 garantia de que voc\u00ea vai gerar dinheiro, certo? H\u00e1 uma garantia de que voc\u00ea pode obt\u00ea-lo em um produto tang\u00edvel, no entanto.<\/p>\n<p>E nos c\u00edrculos de desenvolvimento de software, sempre h\u00e1 muito que uma pessoa pode argumentar a favor ou contra a ideia. De cabe\u00e7a, os dois pr\u00f3s e contras que v\u00eam imediatamente \u00e0 mente s\u00e3o:<\/p>\n<ol>\n<li><strong>Profissional<\/strong>. Fazer algo r\u00e1pido que funcione e que [potencialmente] gere receita.<\/li>\n<li><strong>Con<\/strong>. Arquitetura fraca, manuten\u00e7\u00e3o, escalabilidade, testabilidade e assim por diante.<\/li>\n<\/ol>\n<p>Em suma, pode haver uma troca entre a rapidez com que voc\u00ea pode enviar algo para um mercado e a arquitetura por tr\u00e1s do projeto. \u00c0s vezes h\u00e1, \u00e0s vezes n\u00e3o h\u00e1. De um modo geral, por\u00e9m, acho que \u00e9 seguro assumir o primeiro.<\/p>\n<p>Al\u00e9m disso, alguns podem ver o primeiro como a sa\u00edda mais f\u00e1cil, alguns podem ver o \u00faltimo como um exerc\u00edcio de YAGNI ou, ainda mais simplesmente, que o problema pode ser resolvido sempre que surgir.<\/p>\n<p>Mas o que isso tem a ver com qualquer coisa no momento?<\/p>\n<h2>Enviar ou morrer?<\/h2>\n<p>A raz\u00e3o pela qual estou gastando tempo escrevendo sobre isso \u00e9 que \u00e9 algo que eu, e suspeito que outros em nosso campo, pensamos pelo menos um pouco. Tudo isso \u00e9 muito bom quando se fala sobre isso no sentido abstrato, mas deixe-me tentar vincul\u00e1-lo a algo um pouco mais realista.<\/p>\n<h3>Era uma vez\u2026<\/h3>\n<p>Alguns anos atr\u00e1s, o desenvolvimento front-end consistia em agrupar conte\u00fado em elementos inline ou em n\u00edvel de bloco e estiliz\u00e1-los com CSS b\u00e1sico?<\/p>\n<p>T\u00ednhamos ferramentas avan\u00e7adas para trabalhar com nosso c\u00f3digo de back-end, mas o front-end era relativamente simples, exceto talvez pelos padr\u00f5es de codifica\u00e7\u00e3o impostos pela empresa ou equipe com a qual trabalh\u00e1vamos.<\/p>\n<h3>Mas ent\u00e3o\u2026<\/h3>\n<p>Nossos aparelhos avan\u00e7aram (o que, para constar, considero uma coisa boa e at\u00e9 natural em tecnologia). Junto com esse avan\u00e7o, agora temos ferramentas de constru\u00e7\u00e3o espec\u00edficas para desenvolvimento front-end que s\u00e3o t\u00e3o avan\u00e7adas em alguns aspectos quanto aquelas que usamos para software back-end.<\/p>\n<p>Claro, temos alguns que s\u00e3o &#8220;desenvolvedores full stack&#8221;, mas fico feliz em admitir que me sinto muito mais confort\u00e1vel trabalhando no lado do servidor do que no front-end. Se eu trabalho no front-end, costumo ficar com as ferramentas com as quais estou familiarizado e tento ficar dentro dos guarda-corpos definidos pela pista em que opero.<\/p>\n<p>Ele ajuda a manter o desenvolvimento focado, r\u00e1pido e consistente em todos os projetos.<\/p>\n<h2>Ok, ent\u00e3o qual \u00e9 o ponto?<\/h2>\n<p>Por si s\u00f3, esta se\u00e7\u00e3o pode ser um post longo, mas n\u00e3o estou interessado em ir t\u00e3o longe. Em vez disso, vou pegar uma \u00fanica fatia de como o desenvolvimento front-end funciona agora e ver se n\u00e3o posso us\u00e1-la para deixar meu ponto de vista claro.<\/p>\n<h3>Ficando atrevido<\/h3>\n<p>Tomemos, por exemplo, o que o CSS se tornou. Temos linguagens em cima de linguagens (como <strong><a href=\"https:\/\/sass-lang.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Sass<\/a><\/strong> que fica em cima de, ou adiciona, CSS b\u00e1sico).<\/p>\n<p>E temos processadores que compilam, minificam, soltam lint e nos impedem de ver nosso trabalho antes que certos erros e avisos sejam corrigidos por uma quest\u00e3o de qualidade. (N\u00e3o considero isso uma coisa ruim, mas mostra o crescente n\u00edvel de complexidade \u2013 ou talvez maturidade \u2013 de nossas ferramentas de front-end).<\/p>\n<blockquote>\n<p>O desenvolvimento front-end \u00e9 muito f\u00e1cil, vamos torn\u00e1-lo mais complexo para que possamos nos sentir mais inteligentes entre aqueles de nossos pares que aparentemente est\u00e3o lidando com aspectos mais &#8220;cr\u00edticos&#8221; do neg\u00f3cio. Lembre-se que isso \u00e9 uma competi\u00e7\u00e3o.<\/p>\n<\/blockquote>\n<p><strong><a href=\"https:\/\/medium.com\/@julienetienne\/unnecessarily-complicating-front-end-development-to-feel-like-a-smarter-person-5e555fe650ed\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Este artigo<\/a><\/strong> tem uma vis\u00e3o humor\u00edstica sobre a coisa toda.<\/p>\n<h3>Um grau razo\u00e1vel de qualidade<\/h3>\n<p>Para ser claro, n\u00e3o estou dizendo que isso \u00e9 uma coisa ruim, mas estou dizendo que coisas que antes eram relegadas ao lado do servidor ou a linguagens compiladas agora est\u00e3o se estendendo por toda a pilha de desenvolvimento de um aplicativo da web.<\/p>\n<p>Para ser o mais claro poss\u00edvel: sou a favor da qualidade. Enviar coisas sem qualquer grau disso pode ser visto como um exerc\u00edcio de irresponsabilidade.<\/p>\n<p>Mas tamb\u00e9m acredito que h\u00e1 um equil\u00edbrio a ser alcan\u00e7ado entre escrever o c\u00f3digo mais otimizado, funcional e com melhor desempenho poss\u00edvel sob as restri\u00e7\u00f5es de tempo e or\u00e7amento.<\/p>\n<p>N\u00e3o acredito, n\u00e3o importa o quanto tentemos nos impor, que vivemos em uma utopia de desenvolvedor onde podemos otimizar, arquitetar e implementar sistemas primitivos em cada projeto.<\/p>\n<p>Parece, no entanto, que tentamos ao m\u00e1ximo cri\u00e1-lo, n\u00e3o \u00e9?<\/p>\n<p>Mas em algum momento, n\u00e3o vale a pena perguntar se todas as ferramentas que estamos criando e todas as coisas que estamos adicionando aos nossos projetos removem exatamente o que nos levou \u00e0 ind\u00fastria em primeiro lugar? Concedido, para alguns de n\u00f3s, isso \u00e9 provavelmente diferente. \u00c9 justo perguntar que ter uma ideia, escrever c\u00f3digo para dar vida a ela e v\u00ea-la resolver um problema foi o que nos trouxe ao redil?<\/p>\n<p>Neste ponto, por\u00e9m, introduzimos tantas ferramentas que colocar um ambiente de desenvolvimento em funcionamento para um aplicativo da Web executado do banco de dados at\u00e9 o navegador \u00e9 uma tarefa intimidadora.<\/p>\n<p>Tantas coisas precisam acontecer antes de estarmos realmente prontos para come\u00e7ar a escrever c\u00f3digo que pode se tornar tedioso e at\u00e9 um pouco cansativo apenas dar os passos iniciais para faz\u00ea-lo.<\/p>\n<h2>Uma opini\u00e3o pessoal e final<\/h2>\n<p>Eu gravito em torno da aplica\u00e7\u00e3o de pr\u00e1ticas e ferramentas orientadas a objetos fortes em muitos dos projetos em que trabalho com minha equipe e que envio para outros porque sei, por experi\u00eancia, que o tempo, dinheiro e dados que podem ser perdidos de algo n\u00e3o \u00e9 t abordada de todos os lados.<\/p>\n<p>Isso n\u00e3o quer dizer que enviar algo rapidamente nega isso. Mas o processo e a organiza\u00e7\u00e3o do c\u00f3digo por tr\u00e1s de um projeto \u00e9 algo que tenho muita dificuldade em ignorar tanto que parece quase paralisante enviar algo que n\u00e3o foi testado e aprovado no mais alto grau poss\u00edvel (e mesmo assim, existem problemas).<\/p>\n<p>Por outro lado, por\u00e9m, h\u00e1 uma parte de mim que quer experimentar uma ou duas ideias por tr\u00e1s da mentalidade &#8220;envie ou morra&#8221; apenas para ver o qu\u00e3o r\u00e1pido algo pode ser constru\u00eddo, enviado e gerando qualquer tipo de receita, independentemente de qu\u00e3o impec\u00e1vel a base do c\u00f3digo \u00e9.<\/p>\n<p>E talvez eu tente isso com alguns projetos futuros.<\/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>Embora eu ache a ideia de \u201cenvie ou morra\u201d intrigante, ainda luto com o quanto \u00e9 demais em termos de garantia de qualidade.<\/p>\n","protected":false},"author":1,"featured_media":163522,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[722],"tags":[1170],"class_list":["post-230621","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvedor","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/230621","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=230621"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/230621\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/163522"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=230621"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=230621"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=230621"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}