Duplication Is Always a Design Flaw
La Duplicación Es Siempre un Defecto de Diseño
Every piece of duplication is a missed abstraction. The question is not "should I remove this duplicate?" — the answer is always yes. The question is "what is the right abstraction?"
Toda duplicación es una abstracción que falta. La pregunta no es "¿debo eliminar este duplicado?" — la respuesta siempre es sí. La pregunta es "¿cuál es la abstracción correcta?"
Types of Duplication
Tipos de Duplicación
Obvious: identical code blocks. Subtle: same algorithm in different forms. Structural: same data shape defined multiple times. Switch/if-else: the same condition scattered across the codebase.
Obvia: bloques de código idénticos. Sutil: el mismo algoritmo en formas diferentes. Estructural: la misma forma de datos definida varias veces. Switch/if-else: la misma condición dispersa por toda la base de código.
✏️
Code Challenge
Desafío de Código
Find the duplication type, then choose the right abstraction.
Identifica el tipo de duplicación y luego elige la abstracción correcta.
💡 Key takeaway
Name the thing you're duplicating. The right abstraction reveals itself once you can articulate the concept.
Nombra lo que estás duplicando. La abstracción correcta se revela una vez que puedes articular el concepto.