Pochodzę z silnego zaplecza OO, a ostatnio zacząłem pracować w organizacji, która choć kod jest napisany w Javie, ma o wiele mniejszy nacisk na dobry projekt OO niż to, do czego jestem przyzwyczajony. Powiedziano mi, że wprowadzam „zbyt dużo abstrakcji” i że zamiast tego powinienem kodować tak, jak zawsze to robiono, co jest stylem proceduralnym w Javie.
TDD również nie jest tu zbytnio praktykowane, ale chcę mieć kod do przetestowania. Zakopywanie logiki biznesowej statycznymi metodami prywatnymi w dużych „klasach boga” (co wydaje się być normą dla tego zespołu) nie jest zbyt testowalne.
Mam trudności z wyraźnym przekazaniem motywacji moim współpracownikom. Czy ktoś ma jakieś rady, jak przekonać moich współpracowników, że korzystanie z OO i TDD prowadzi do łatwiejszego do utrzymania kodu?
To pytanie dotyczące długu technicznego jest powiązane z moim pytaniem. Staram się jednak przede wszystkim unikać zaciągania długu, a nie spłacania go po tym, co obejmuje drugie pytanie.