Acabo de encontrar el artículo " Regla de tres " en wikipedia
La regla de tres es una regla general de refactorización de código para decidir cuándo una pieza de código replicada debe ser reemplazada por un nuevo procedimiento. Establece que el código se puede copiar una vez, pero que cuando se usa el mismo código tres veces, se debe extraer en un nuevo procedimiento. La regla fue introducida por Martin Fowler en Refactoring y atribuida a Don Roberts.
Sé que esto es solo una regla general, pero ¿por qué se recomienda refactorizar solo después de la segunda duplicación? ¿Hay alguna desventaja en la refactorización cuando escribimos la primera duplicación?
refactoring
dry
rule-of-three
Louis Rhys
fuente
fuente
Respuestas:
Creo que esta regla general existe porque es fácil quedar atrapado en jugar "Qué pasaría si ..." cuando se diseña el código por primera vez o después de la primera duplicación. Me he encontrado con una parálisis de análisis severa en algunos casos porque la gente comenzó a diseñar funcionalidades que podrían ser necesarias más adelante. Pero no es necesario para el problema inmediato en cuestión.
Existe un arte para diseñar / escribir solo lo que necesita, mientras se mantiene el código apto para la refactorización futura.
fuente