Acrônimos que todos dev-eriam saber

Acrônimos que todos dev-eriam saber

Quer saber os segredos por trás das siglas mais importantes da programação? Neste artigo vamos explicar 5 que são realmente interessantes, são os conceitos de:

  • DRY.
  • WET.
  • KISS.
  • YAGNI.
  • NIH.

Você está pronto/a para descobrir como essas siglas podem melhorar seu código e torná-lo mais eficiente? Comecemos!

🌵 DRY


Provavelmente a sigla mais repetida no mundo da programação é DRY, cuja sigla significa Don't Repeat Yourself ou não se repita em português. Esse princípio desencoraja a repetição de código e talvez seja um dos primeiros que você ouviu em sua jornada de desenvolvimento.

Mas, embora seja uma boa ideia ter em mente, não deixe que isso o confunda! Tentar o tempo todo não se repetir pode levar a dores de cabeça voltando ao seu código mais tarde, para você ou qualquer outra pessoa que queira ler seu código.

💧 WET


Às vezes, dois códigos podem parecer semelhantes, mas têm diferenças sutis e é aí que precisamos pensar bem se não é melhor mantê-los separados. Acompanhado por este princípio está o WET, seu equivalente que significa Write Everything Twice (Escreva tudo duas vezes, em português).

A ideia que gostaria que tirassem neste ponto é que seguir a filosofia DRY tem benefícios, por exemplo em termos de manutenibilidade (problemas que surgem de código repetido tornam-se mais difíceis de resolver e, pior ainda, quando o problema é resolvido em uma parte você pode esquecer de resolvê-lo em outra).

No entanto, também pode ser uma faca de dois gumes, pois fazer uma abstração ruim é pior do que não fazer nenhuma. Não se apresse em fazê-lo, seja pragmático/a e não tome este lema como se estivesse escrito em pedra.

💋 KISS


Continuamos nossa jornada com outro acrônimo muito famoso, KISS: Keep It Simple, Stupid (ou mantenha isso simples, estúpido em português). Este princípio é utilizado para reforçar a ideia de desenvolver sempre com a simplicidade em mente.

O código simples permite adicionar complexidade posteriormente, quando a necessidade é realmente clara. Como programadores, muitas vezes temos que lidar com a incerteza do que precisaremos no futuro e isso muitas vezes nos leva a tentar adivinhar, algo em que as pessoas não são muito boas.

Medindo a qualidade de um código: WTFs por minuto.

🙅 YAGNI


Minha proposta é que você não faça abstrações antecipadas porque acha que pode precisar depois, porque é muito fácil acabar adicionando complexidade. Esta última frase nos leva à próxima sigla que é YAGNI, que significa You Ain't Gonna Need It (ou "Você não vai precisar").

A maneira mais fácil de simplificar seu código é simplesmente evitar escrevê-lo. A melhor maneira de manter seu código flexível é reduzi-lo, em particular me ajudou a me perguntar o que é absolutamente necessário e omitir o resto.

🏷️  NIH


Para finalizar, vamos refletir sobre uma sigla um tanto mais desconhecida, NIH, cujo acrônimo vem de Not Invented Here (“Não inventado aqui”). Isso está associado a uma síndrome e pode ser definido como uma tendência a evitar coisas que não foram criadas por nós.

Em geral, o orgulho nos engana e acreditamos que podemos resolver um problema melhor do que as soluções existentes já o fazem. É assimilado a outro conceito bastante popular, o de "não reinventar a roda" e mantê-lo em mente vai te poupar problemas, acredite. Mas cuidado, não se trata de pegar como bom qualquer pedaço de código que você encontra por aí sem estudo prévio. Mantenha uma mentalidade de prós e contras de fazer isso de uma forma ou de outra.

Quando você se encontrar em um dilema entre desenvolver algo do zero ou usar uma solução pré-existente, preste atenção especial às informações à sua disposição para tomar a decisão e não se deixe levar por suas emoções causando a síndrome do "não foi inventado aqui" .assuma o controle.

Espero que este guia ajude você a entender as siglas e, principalmente, o que elas promovem para uma melhor performance como devs.

Até a próxima!

💡
As opiniões e comentários expressos neste artigo são de propriedade exclusiva de seu autor e não representam necessariamente o ponto de vista da Revelo.

A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.