
Refactoring Nedir, Nasıl Yapılır Ve Nelere Dikkat Edilmeli?
İçindekiler
Refactoring nedir : Türkçe’de yazılan bir kodu düzenlemek ve güncellemek manasına gelir. Daha detaylı bir tanım yapmak gerekirse, kodun önceki davranışlarını değiştirmeden yeni yapı özellikleri eklemek ve anlaşılır hale getirmektir.
Projenin oluşturulmasının üzerinden zaman geçtiğinde, kodların ne iş yaptığını unutabiliriz. Dahası kullandığımız teknoloji güncellenebilir, dolayısıyla kullanılan yapılar çalışmayabilir. Kodu güncellemek zor bir iştir çünkü bütün blokları okumanız ve ne işe yaradığını anlamanız gerekir. Özellikle yazılan kod başka bir mühendis tarafından yazılmışsa, okumak zorlaşacak ve harcadığınız zaman daha da artacaktır. İşte bu gibi durumları engellemek için Refactoring yapılır.

Refactoring’e Neden İhtiyaç Duyarız?
- Yeni kodlar eklemek daha kolay olur.
- Kod, yeniden düzenlendiğinde daha temiz ve okunaklı olur.
- Kod okundağı zaman diğer yazılımcılar tarafından daha rahat anlaşılır.
- Kod yazmak daha eğlenceli olur ve daha az zahmet gerektirir.
Refactoring’in Avantajları Nelerdir?
- Kodlar tekrar kullanıma daha uygun olur.
- Eski kodu geliştirerek daha iyi çalışmasını sağlar.
- Kod kararlı hale gelir.
- Mimariyi uygulamanın davranışlarını değiştirmeden geliştirir.
Refactoring Süreci
Kazandırdığı avantajların yanında, Refactoring zorlayıcı bir süreç olabilir çünkü:
- Zaman Alan Bir Süreç: Bir kodu düzenlemeye başladığınızda, ne kadar süreceğini bilemeyiz. Ayrıca kodu nerden değiştirmeye başlayacağınıza karar vermek de zordur. Kararsızlık kodun refactoring aşamasını uzatabilir.
- Tekrardan Test: Refactoring, bazı testleri tekrardan yazmayı gerektirebilir.
- Eski Sürümle Uyumluluk: Düzenlenen kod, eski kodla uyumlu bir şekilde çalışması gerekir.
- Korku Faktörü: Bazı yazılımcılar çalışan bir kodu, değiştirmekten olabildiğince kaçınırlar çünkü kodun değiştirilmesi çalışmamasına sebep olabilir.

Refactoring Nasıl Yapılır?
Kodları tekrardan düzenlerken kullanılan bazı teknikler vardır.
- Yeni Metot Oluşturma Yöntemi: Uzun ve karmaşık metotların, kısa metotlara bölünmesiyle uygulanır. Kısa metotlara bölmek yerine yeni bir sınıf(class) oluşturmayı da seçebilirsiniz.
- Inline Yöntemi: Eğer oluşturulan metot fazla yerde kullanılmıyorsa ve uzun değilse, metot çağrılmak yerine kendisi yazılabilir.
- Kod Parçalarının Yerinin Değiştirilmesi: Bir metot, farklı bir sınıftaki değişkenleri kullanıyorsa; performansı arttırmak için metotun yeri değiştirilebilir.
- Diziler(arrays) yerine Nesneler(objects) kullanılabilir.
- Metot isimleri değiştirilerek, metotların çağırılması kolaylaştırılabilir.
Veritabanı Refactoring Nasıl Yapılır?
Kodları düzenlerken, veritabanına uyumlu olmasına özen gösterilmelidir fakat bazı durumlarda veritabanının da düzenlenmesi gerekebilir.
- Veritabanı Yapısı: Table’ların ismini veya sütünlerın ismi değiştirilebilir.
- Veri Kalitesi: Veritabanında tutulan verilerin kalitesi açısından veri setlerinde değişiklikler yapılabilir.
- Mimari Yapı: Veritabanına erişen harici uygulamalarla arasındaki iletişim yeniden yapılandırılabilir veya düzenlenebilir.
- Metotlar: Genel kaliteyi arttırmak için kod değişiklikleri yapılabilir.
- Yenilenebilirlik: Veritabanı şemasında değişiklikler yapılabilir. Örneğin ekstra bir sütün eklenebilir.
Genel olarak; refactoring işi uzun ve zahmetli olabiliyor fakat yazdığınız kodun daha uzun süre kullanılmasını sağlıyor. Refactoring hakkında bu yazımızda anlatacaklarımız bu kadardı, umarız yararlı olmuştur. Başka yazılarda görüşmek üzere!