Uygulamaya yeni özellikler eklemek, hata ayıklayıp düzeltmek, bakım yapmak yani kod yazmak geliştirme sürecinde devamlı yaptığımız aktivitelerden biridir (diğerlerine misal olarak: "test yapmak", "kurmak", "destek vermek" vs.). Bunları yaparken kod içinde sürekli birşeyler eklenir, çıkarılır yani değiştirilir. Demek ki, kod statik değil dinamiktir. Dinamik kod ile başa çıkmanın da kuralları olmalı, yani bir metodolojiye sahip olmalı. Ve Yeniden Tasarım (Refactoring) burada devreye giriyor. Tanımına bakalım:
Yeniden Tasarım (Refactoring) kodun dışarıya olan davranışını (özelliklerini) değiştirmeden iç yapısını değiştirmeden iç yapısında geliştirme yapılmasına denir.Nasıl yani? Şöyle ki. Elimizde bir modül, bir sınıf, ya da bir method olabilir. Bunun bir sınıf olduğunu dişünelim. Bu sınıfın dışarıdan bakan, yani kodun iç yapısını bilmeyen kişiye sunduğu bazı özellikler, bazı davranışlar vardır. Ve sizden bu sınıfa yeni bir özellik daha eklemenizi istiyorlar. Ne yaparsınız? Önce yeni özelliğin ne olduğuna, sonra elimizdeki sınıfa nasıl uygulanacağına bakıp kafanızda kabaca bir tasarım belirlersiniz değil mi? Ve değiştirmeye hemen başlarsınız... Burada biraz duralım.
Refactoring, sınıfın değişiklik yapılmadan önceki özellikleri (karakteri, davranışları vs. ne derseniz deyin) ile değişiklik yapıldıktan sonraki özelliklerin aynı olmasını gerektirir. Nasil yani? Yeni özellikleri eklemek değil miydi Refactoring? Hayır! Refactoring, yeni özelliklerin eklenebilmesine olanak veren bir sınıf haline getirmektir. Yani, yeni özellikleri ekleyene kadar davranışını bozmadan yaptığımız her değişikliktir.
Evet... Refactoring'e girişi yaptık. Bu ve bundan sonraki yazılarımda Refactoring konusunda (mümkün olduğunca) Türkçe bilgiler vermeye çalışacağım. Eğer siz de ilgileniyorsanız irtibat kurmaktan çekinmeyin lütfen.
Not 1: Refactoring kavramının babaları Kent Beck ve Martin Fowler'dır.
Not 2: Çok daha detaylı bilgi http://sourcemaking.com/refactoring sayfasında bulunabilir.
1 yorum:
Hasan hadi abi, yazilarini bekliyoruz dort gozle...
Haftada bir yazi yazsan bir yilda 52 post olur :)
Yorum Gönder