𝗗𝘂𝗽𝗹𝗶𝗰𝗮𝗰𝗶𝗼́𝗻 𝗱𝗲 𝗰𝗼́𝗱𝗶𝗴𝗼 𝘃𝘀. 𝗮𝗯𝘀𝘁𝗿𝗮𝗰𝗰𝗶𝗼𝗻𝗲𝘀 𝗶𝗻𝗰𝗼𝗿𝗿𝗲𝗰𝘁𝗮𝘀

Los desarrolladores a menudo se enfrentan a una elección.

Debes elegir entre el principio Don't Repeat Yourself o permitir cierta duplicación de código.

DRY es una regla fundamental en el diseño de software. Pero perseguirlo con demasiado ahínco crea un nuevo problema: creas una abstracción incorrecta.

Una abstracción incorrecta cuesta más que el código duplicado.

Queremos escribir código elegante. Queremos construir lógica reutilizable. Queremos corregir un error en un solo lugar y que se corrija en todas partes. Este objetivo parece el correcto.

Pero la abstracción prematura mata la velocidad del proyecto. Arruina la facilidad con la que se puede mantener tu código.

Cuando abstraes demasiado pronto, te enfrentas a estos problemas:

  • Mayor complejidad. Las malas abstracciones añaden capas de confusión.
  • Código rígido. Se vuelve difícil cambiar una parte sin romper otras.
  • Lógica oculta. Pasas más tiempo rastreando el código que escribiéndolo.

A veces, la duplicación es la opción pragmática. Mantiene tu código simple y claro. Te permite cambiar partes de tu sistema de forma independiente.

No construyas una solución genérica para un problema que aún no comprendes por completo. Espera hasta que el patrón sea claro.

Fuente: https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-code-duplication-is-far-cheaper-than-the-wrong-abstraction-2016-2k3n