A Duplicação de Código é Mais Barata do que Abstrações Erradas

A maioria dos desenvolvedores aprende o princípio DRY cedo. Do Not Repeat Yourself.

Essa regra faz sentido. Ela evita erros e economiza tempo.

Mas muitos desenvolvedores seguem essa regra de forma muito rigorosa. Eles tentam mesclar tudo em uma única função ou classe. Isso leva ao over-engineering.

Quando você força dois trechos de lógica diferentes em uma única abstração, você cria problemas. Você adiciona complexidade. Você torna o código difícil de ler.

Uma abstração errada custa mais do que um pouco de duplicação.

Se você duplicar o código, saberá exatamente onde a lógica reside. Se precisar alterar uma parte, você a altera ali.

Se você usar uma abstração ruim, terá que alterar tudo o que estiver conectado a ela. Você corre o risco de quebrar funcionalidades que não têm nada a ver com a sua tarefa atual.

Siga estas regras para se manter seguro:

  • Escreva código para a tarefa em questão.
  • Espere um padrão surgir três vezes antes de abstrair.
  • Priorize a legibilidade em vez de economizar algumas linhas de código.
  • Aceite que um pouco de duplicação é saudável.

Pare de tentar tornar cada linha de código perfeita. Foque em tornar seu código fácil de alterar.

Fonte: https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-code-duplication-is-far-cheaper-than-the-wrong-abstraction-3g0b