Vengo de una sólida formación en OO, y recientemente comencé a trabajar en una organización que, aunque el código está escrito en Java, tiene mucho menos énfasis en un buen diseño de OO que el que estoy acostumbrado. Me han dicho que introduzco "demasiada abstracción", y que en cambio debería codificar la forma en que siempre se ha hecho, que es un estilo de procedimiento en Java.
TDD tampoco se practica mucho aquí, pero quiero tener un código comprobable. Enterrar la lógica empresarial en métodos privados estáticos en grandes "clases de Dios" (que parece ser la norma para este equipo) no es muy comprobable.
Me cuesta comunicar claramente mi motivación a mis compañeros de trabajo. ¿Alguien tiene algún consejo sobre cómo puedo convencer a mis compañeros de trabajo de que usar OO y TDD conduce a un código más fácil de mantener?
Esta pregunta sobre la deuda técnica está relacionada con mi pregunta. Sin embargo, estoy tratando de evitar incurrir en la deuda en primer lugar, en lugar de pagarla después del hecho que es lo que cubre la otra pregunta.