Muszę rozszerzyć istniejący moduł projektu. Nie podoba mi się sposób, w jaki to zostało zrobione (dużo anty-wzorca, takiego jak kopiowanie / wklejanie kodu). Nie chcę wykonać pełnego refaktora z wielu powodów.
Czy powinienem:
- tworzyć nowe metody przy użyciu istniejącej konwencji, nawet jeśli uważam, że to źle, aby uniknąć zamieszania dla następnego opiekuna i być spójnym z bazą kodu?
lub
- spróbuj użyć tego, co czuję się lepiej, nawet jeśli wprowadza on inny wzorzec w kodzie?
Precison edytowane po pierwszych odpowiedziach:
Istniejący kod nie jest bałaganem. Łatwo jest śledzić i rozumieć. ALE wprowadza wiele kodu typu „płyta podstawowa”, którego można uniknąć dzięki dobrej konstrukcji (kod wynikowy może być trudniejszy do przestrzegania). W moim obecnym przypadku jest to dobry stary moduł DAO JDBC (szablon sprężyny wbudowany), ale napotkałem już ten dylemat i szukam innych opinii deweloperów.
Nie chcę refaktoryzować, bo nie mam czasu. I nawet z czasem trudno będzie uzasadnić, że cały doskonale działający moduł wymaga refaktoryzacji. Koszt refaktoryzacji będzie wyższy niż korzyści. Pamiętaj: kod nie jest bałaganiarski ani zbyt skomplikowany. Nie mogę tam wyodrębnić kilku metod i wprowadzić tutaj abstrakcyjnej klasy. To bardziej wada w projekcie (wydaje mi się, że efektem ekstremalnego „Keep It Stupid Simple”)
Tak więc pytanie może być zadane w ten sposób:
Czy jako deweloper wolisz zachować łatwy, głupi, nudny kod LUB mieć pomocników, którzy zrobią ten głupi, nudny kod?
Minusem ostatniej możliwości jest to, że będziesz musiał nauczyć się kilku rzeczy i być może będziesz musiał też utrzymywać łatwy głupi, nudny kod, aż do pełnego refaktoryzacji)