Soy el único desarrollador de un proyecto que, como cualquier proyecto de software, puede ser tomado por otra persona en el futuro.
Digamos que usé el patrón X para implementar la característica A. Después de desarrollar y terminar la característica, me doy cuenta de que podría implementar la misma característica usando el patrón Y, del que acabo de enterarme. Pero la función A funciona bien y la refactorización de X a Y lleva mucho tiempo y ofrece pocos beneficios.
Entonces es hora de implementar la función B. Es similar a A, pero esta vez quiero aprovechar esta oportunidad para jugar con el patrón Y. Estoy contento con el resultado final, mejor que cuando hago la función A, pero ahora mi código usa dos diferentes patrones, X e Y, para características similares.
Pero no hay una razón real para usar diferentes patrones, excepto por el hecho de que al construir la función, la IA no tenía la habilidad suficiente para usar el mismo patrón que para la función B.
Tenga en cuenta que esta pregunta no se trata de elegir el patrón correcto para un problema dado ; Se trata de dos patrones coexistentes en la base del código para resolver problemas similares, que podrían reducirse a uno dado el tiempo suficiente para refactorizar.
- ¿Ese código huele?
- ¿Cuáles son las desventajas de mantener el código fuente como este?
- ¿Debería seguir usando solo un patrón? es decir, ¿refactoriza A para usar Y o sigue usando X cuando escribe B?
- ¿Cómo, en la fuente, puedo comunicar que la razón por la que hay dos patrones diferentes para características similares no es esencialmente ninguna razón?
- ¿Me estoy preocupando demasiado por lo que el próximo desarrollador piensa sobre mi código?