Tengo que extender un módulo existente de un proyecto. No me gusta la forma en que se ha hecho (hay muchos patrones anti involucrados, como copiar / pegar código). No quiero hacer un refactor completo por muchas razones.
Debería:
- crear nuevos métodos utilizando existentes convención, incluso si me parece mal, para evitar confusiones para la proxima mantenedor y ser consistente con ¿El código base?
o
- intenta usar lo que me siento mejor incluso si está introduciendo otro patrón en el código?
Precisión editada después de las primeras respuestas:
El código existente no es un desastre. Es fácil de seguir y entender. PERO está introduciendo un montón de código de placa de calderas que puede evitarse con un buen diseño (el código resultante podría ser más difícil de seguir entonces). En mi caso actual, es un módulo DAO antiguo (JDBC, plantilla interna), pero ya me he encontrado con este dilema y estoy buscando otros comentarios de desarrolladores.
No quiero refactorizar porque no tengo tiempo. E incluso con el tiempo será difícil justificar que todo un módulo que funcione perfectamente necesite una refactorización. El costo de refactorización será mayor que sus beneficios. Recuerde: el código no es complicado ni complejo. No puedo extraer algunos métodos allí e introducir una clase abstracta aquí. Es más bien un defecto en el diseño (resultado del extremo 'Creo que es estúpido, simple', creo)
Así que la pregunta también se puede hacer así:
Tú, como desarrollador, ¿prefieres mantener el código aburrido estúpido fácil O tener algunos ayudantes que harán el código aburrido estúpido en tu lugar?
La desventaja de la última posibilidad es que tendrás que aprender algunas cosas y tal vez también deberás mantener el código aburrido y estúpido hasta que se realice una refactorización completa)