{"componentChunkName":"component---src-templates-blog-post-js","path":"/deixe-a-minificacao-para-o-computador/","result":{"data":{"site":{"siteMetadata":{"siteUrl":"https://guilhermeramos.dev"}},"markdownRemark":{"fields":{"slug":"/deixe-a-minificacao-para-o-computador/"},"frontmatter":{"category":"Dev","date":"25 de junho, 2020","thumbnail":"assets/img/deixe-a-minificacao-para-o-computador.jpg","title":"Deixe a minificação para o computador","description":"Entenda porque, nem sempre, escrever menos código é uma boa prática."},"html":"<p>Fala pessoal, como vocês estão? Espero que estejam bem. Hoje eu vou falar sobre algo que eu venho pensado ultimamente, graças a algumas experiências envolvendo manutenção de um código escrito por outros programadores.</p>\n<p>Sabe quando você está programando, escrevendo código atrás de código, loop dentro de loop, ifelse atrás de ifelse e, em um dado momento, você olha para o seu código, ele olha pra você e você pensa: “dá pra diminuir!”? É… Essa pode ser uma boa ideia, ou não.</p>\n<p>Refatorar é uma etapa importante do projeto. Eu, pelo menos, dificilmente escrevo a versão final do código logo de cara. Sempre é preciso reler, ver se está claro, legível, intuitivo, etc. O que for redundante, muito verboso ou desnecessário, é sempre bom deixarmos mais simples.</p>\n<p>Porém, tudo o que é exagerado se torna problemático, e aqui não podia ser diferente. É muito comum perdermos a mão na hora de refatorar o código. E esse código fica lindo no começo: ver uma função que tinha 15 linhas ficar com apenas 5 é algo maravilhoso. Até você precisar fazer a primeira manutenção.</p>\n<p>Nós precisamos ter uma coisa em mente desde o começo: <strong>não escrevemos nosso código só para que o computador entenda, mas para que seres humanos entendam</strong>, seja você ou seja seus colegas de trabalho (considerando que vocês todos são humanos). Quantas e quantas vezes você pegou um código que você próprio escreveu há algum tempo (não precisa nem ser de muito longe, coisa de uma semana) e já não lembrava mais como funcionava exatamente? Isso é a coisa mais normal do mundo.</p>\n<p>Um código precisa ser lido e interpretado, como um poema. Mas, quando a gente encurta demais um código, a interpretação dele fica muito mais difícil.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 75%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAQFAwb/xAAUAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAGitgqnRkIH/8QAGRAAAgMBAAAAAAAAAAAAAAAAAQIAAxES/9oACAEBAAEFAgiYFSdJD1apUrBZg//EABURAQEAAAAAAAAAAAAAAAAAAAEQ/9oACAEDAQE/ASf/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAbEAACAQUAAAAAAAAAAAAAAAAAARECEiEiMf/aAAgBAQAGPwKakNnUastbyRB//8QAGxAAAgMBAQEAAAAAAAAAAAAAAAERITFhcZH/2gAIAQEAAT8ho2xZ0Vl9GrfuJQoROIPwQzZ6f//aAAwDAQACAAMAAAAQgO//xAAYEQADAQEAAAAAAAAAAAAAAAAAAREhUf/aAAgBAwEBPxBOjlw//8QAFhEBAQEAAAAAAAAAAAAAAAAAEQAB/9oACAECAQE/EHGL/8QAHRABAAMAAgMBAAAAAAAAAAAAAQARITFRQXGRwf/aAAgBAQABPxDLUUWnbBXsPVdM+RyhJ4RCWnpsR4hWR2uB6b/IT+JDAz//2Q=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image lazyload\"\n        alt=\"Na imagem, duas garotas estão concentradas, cada uma com o seu note. Uma está sentada no sofá e a outra no chão, num puff.\"\n        title=\"Não escrevemos nosso código só para que o computador entenda, mas para que seres humanos entendam.\"\n        data-src=\"/static/786ab09ecea749173edc6ff1114ab0d0/6a068/two-girls-programming.jpg\"\n        data-srcset=\"/static/786ab09ecea749173edc6ff1114ab0d0/09b79/two-girls-programming.jpg 240w,\n/static/786ab09ecea749173edc6ff1114ab0d0/7cc5e/two-girls-programming.jpg 480w,\n/static/786ab09ecea749173edc6ff1114ab0d0/6a068/two-girls-programming.jpg 960w,\n/static/786ab09ecea749173edc6ff1114ab0d0/644c5/two-girls-programming.jpg 1440w,\n/static/786ab09ecea749173edc6ff1114ab0d0/0f98f/two-girls-programming.jpg 1920w,\n/static/786ab09ecea749173edc6ff1114ab0d0/e5bc7/two-girls-programming.jpg 5184w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>Agora, pense como deve ser para outro programador, um que não participou do desenvolvimento, fazer alguma manutenção ou implementar uma nova feature, algo normal no dia a dia de uma empresa de software. Imagina quanto tempo ele não vai precisar estudar e testar seu código para entender a lógica que você pensou. Um código que ele levaria minutos para entender (se fosse bem escrito) acaba tomando horas, e não é nem exagero.</p>\n<p>Para vocês terem uma noção: recentemente, eu e meu time precisamos fazer uma manutenção numa aplicação React. Apesar de ser um ajuste simples, o código era tão otimizado para evitar qualquer linha de código desnecessário que levamos mais de um dia para, primeiro, entender o código e, segundo, entender como ele renderizava um formulário. Uma coisa que devia ser totalmente simples.</p>\n<h1>Conclusão</h1>\n<p>Entender que um código será lido e trabalhado por outros programadores e ter a empatia para escrever um código mais legível vai te fazer um programador muito melhor para trabalhar em equipe (e, confia em mim, isso acontecerá na grande maioria das vezes).</p>\n<p><strong>Um código precisa ser descritivo, intuitivo e autoexplicativo</strong>. Qualquer desenvolvedor que bata o olho nele já deve, com pouco esforço, entender o que ele faz. Não economize linhas de código e dê um nome claro às variáveis. Além do mais, outro detalhe muito importante: nem todo código duplicado é ruim. Quantas vezes, nos meus primeiros trabalhos, eu fazia uma engenhosidade para evitar código duplicado e uma gambiarra maior ainda para, lá na frente, usar o mesmo trecho para fins diferentes, mas sem duplicar nada. É bobagem.</p>\n<p>E vocês, o que acham sobre esse assunto? Já tiveram alguma experiência com código um código difícil de entender? Escreve aí nos comentários.</p>"}},"pageContext":{"slug":"/deixe-a-minificacao-para-o-computador/","nextPost":{"frontmatter":{"title":"Por que ainda estudar class components"},"fields":{"slug":"/nao-fique-somente-no-hooks-por-que-ainda-estudar-class-components/"}},"previousPost":{"frontmatter":{"title":"Typescript: Interface x Type alias"},"fields":{"slug":"/typescript-interface-x-type-alias/"}}}},"staticQueryHashes":["2563868181","3014040303","3054600814","764694655","96473684"]}