Vengo da un strong background di OO e recentemente ho iniziato a lavorare in un'organizzazione che, sebbene il codice sia scritto in Java, ha molto meno enfasi sul design OO di quello a cui sono abituato. Mi è stato detto che introduco "troppa astrazione" e che dovrei invece codificare il modo in cui è sempre stato fatto, che è uno stile procedurale in Java.
Anche il TDD non è molto praticato qui, ma voglio avere un codice testabile. Seppellire la logica aziendale in metodi statici privati in grandi "classi di Dio" (che sembra essere la norma per questa squadra) non è molto verificabile.
Ho difficoltà a comunicare chiaramente la mia motivazione ai miei colleghi. Qualcuno ha qualche consiglio su come posso convincere i miei colleghi che usare OO e TDD porta a un codice più semplice da mantenere?
Questa domanda su il debito tecnico è legato alla mia domanda. Tuttavia, sto cercando di evitare di incorrere in primo luogo sul debito, invece di ripagarlo dopo il fatto che copre l'altra domanda.