« Güncellendik Inductive User Interfaces »
14/07/06 12:32, by ertan, Categories: Coding
Her ne kadar tüm yazılımcıların işi hiç bitmesede, yöneticiler sürekli yeni taleplerde bulunsa da üzerinde refactoring yapılmayan yazılım belli bir süre sonunda tıkanır. Daha sonrasında yazılımcılardan "olmadı bu yeniden yazalım" benzeri korkunç laflar duyabilirsiniz. (unutmadan asla böyle bir şey yapmayın) Malesef bir çok yazılımda bu yapılmaz hatta yazılımcılar 3 yıl çnce yazdığı kodun halen üzerinde bir değişiklik yapılmamasından gurur duyar. (Bu sadece belirli bir kaç durumda geçerlidir)
Öncelikle refactoring'de temel amaç davranışı değiştirmeden iyileştirme yapmaktır. Bu yüzden yaptığınız değişiklikleri doğrulayacak bir unit test sistemi kullanmalısınız. Unit test'in ne olduğunu bilmiyorsanız .net için geliştirilmiş olan www.nunit.org sitesine bakabilir veya bir sonraki yazımı bekleyebilirsiniz. (bence beklemeyin)
Diyelim ki unit test yapmıyorsunuz o zaman önce değişikliği yapacağınız kısmı test eden unit test'i hazırlayın ardından refactoring işlemlerinizi yapabilirsiniz. Bu şekilde yavaş yavaş unit test kütüphaneniz de oluşacaktır.
Refactoring konusu geçerken, analiz konusunda yardım alabileceğiniz tool olarak FxCop'u tavsiye ederim. Kontrol ettiği şeyler ve ne kadar çok "sorun" bulduğunu gördüğünüzde hayranlık duyacağınıza garanti veririm.
Yapabiliyorsanız takımınızdaki bir kişinin (en "geek" olanı seçmeye çalışın ve asla yeni işe aldığınız birisi olmasın) yarım zamanını bu işe verin ve diğer yazılımcılara geri dönüş yapsın. Kaynak ayıramıyorsanız takımdaki her kişi için günlük 1 veya 2 saati buna ayırın. Zaman olarak akşam saatlerini seçmeniz yazılımcıların hoşuna gidecektir.
Kullanıcı arabirimleri (UI) için unit test'i kullanamazsınız, UI katmanında yaptığınız işler elle test edilmek zorundadır. Tabiki burada UI katmanında logic bulunmadığını varsayıyorum. Eğer böyle bir hata yaptıysanız herşeyi bırakıp bu sorunu düzeltmenizi tavsiye ederim.