Mevcut bir projenin modülünü genişletmek zorundayım. Yapılma şeklini beğenmedim (kopya / yapıştırma kodu gibi, çok sayıda anti-patern içeren). Birçok sebepten dolayı tam bir refraktör yapmak istemiyorum.
Yapmalımıyım:
- Bir sonraki bakıcı için karışıklıktan kaçınmak ve kod tabanıyla tutarlı olmak için mevcut konvansiyonu kullanarak yeni yöntemler yaratmalı mıyım?
veya
- Kodda başka bir desen getirse bile, daha iyi hissettiğim şeyi kullanmaya çalışın mı?
Precison ilk cevaplardan sonra düzenlendi:
Mevcut kod karışıklık değildir. Takip etmesi ve anlaması kolaydır. ANCAK iyi bir tasarımla kaçınılabilecek birçok kazan plakası kodu getirmektedir (sonuçta ortaya çıkan kod daha sonra zorlaşabilir). Şu anki durumumda eski bir JDBC (içten içe yerleştirilmiş ilkbahar şablonu) DAO modülü, ancak bu ikilemle zaten karşılaştım ve diğer dev geri bildirimleri arıyorum.
Yeniden ateşlenmek istemiyorum çünkü zamanım yok. Ve zamanla bile, kusursuz çalışan bir modülün yeniden düzenlemeye ihtiyaç duyduğunu haklı göstermek zor olacaktır. Yeniden düzenleme maliyeti faydalarından daha ağır olacaktır. Unutmayın: kod dağınık veya karmaşık değildir. Orada birkaç yöntem çıkaramıyorum ve buraya soyut bir sınıf getiremiyorum. Tasarımda daha fazla hata var (aşırı 'Aptal Basit Tutun' sonucu)
Böylece şu soru da sorulabilir:
Geliştirici olarak, aptal sondaj kodunu korumayı mı tercih edersiniz VEYA aptal sıkıcı kodunu yerine getirecek bazı yardımcılara sahip olmak ister misiniz?
Son ihtimalin dezavantajı, bazı şeyleri öğrenmek zorunda kalacağınız ve belki de tam bir yeniden yapılanma tamamlanana kadar kolay aptalca sıkıcı kodu da sürdürmeniz gerekmesidir.)