La duplicación de código es más barata que las abstracciones incorrectas

A los desarrolladores les encanta el principio DRY.

Quieres evitar repetirte. Quieres un código elegante y reutilizable.

Pero este objetivo a menudo conduce a una trampa: la abstracción prematura.

Repetir código se siente mal. Sin embargo, la duplicación suele ser más barata que una mala abstracción.

Intentamos construir sistemas modulares perfectos. Buscamos patrones y extraemos lógica para gestionar la complejidad.

Las abstracciones bien diseñadas ayudan a que el software escale.

Pero muchas abstracciones se construyen demasiado pronto. Si no comprendes el problema por completo, tu abstracción se convierte en un lastre.

Una abstracción incorrecta causa varios problemas:

  • Sobreingeniería: Construyes soluciones complejas para problemas simples.
  • Rigidez: Tu código se vuelve difícil de cambiar porque intenta predecir un futuro que nunca llega.
  • Intención oscurecida: La lógica de negocio se esconde bajo capas de interfaces genéricas. Esto dificulta la depuración.
  • Acoplamiento fuerte: Partes de tu sistema quedan atrapadas a la propia abstracción.

El coste es alto. Pasas tiempo luchando contra tu propia arquitectura en lugar de resolver los problemas de los usuarios. Esto ralentiza a tu equipo y dificulta la refactorización.

No te estoy diciendo que lo copies y pegues todo. Estoy sugiriendo un enfoque pragmático.

Utiliza la duplicación controlada como una herramienta. Úsala en áreas donde los requisitos cambien rápido o donde te enfrentes a la incertidumbre.

Espera hasta que veas el patrón con claridad antes de construir la abstracción.

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