Refactoring 1: Refactoring Nedir?

Muhammed Hilmi Koca
Bilişim Hareketi
Published in
2 min readOct 17, 2017

--

Refactoring, Türkçe’ye genelde “kod düzenleme” diye çeviriliyor.

Yazılan bir kodun zamanla değiştirilerek optimize edilmesi, kodu daha anlaşılır hale getirme, kodu adam etme vs. pek çok tanım yapılabilir.

Yazılan kodların üzerinden zaman geçtikten sonra(6–7 ay bile yeterlidir), hangi scriptin ne ifade ettiği unutulabilir. Dolayısıyla anlamak için kodu okumak gerekir. Kod ne kadar karışıksa, yapılan işi anlamak da o kadar zorlaşır -velev ki kendi yaptığımız iş olsun- ve dolayısıyla o kadar zaman alır. Dahası bir şirkette çalışıyorsak, başkasının kodlarını okumamız da gerekecektir ve kodlar karışıksa bu durumun içinden çıkmak iyice zorlaşacaktır.

Peki yapılması gereken nedir?

Kodlamayı yaptıktan sonra veya önceki yazılımcının yaptığı kötü bir kodlamayı gördükten sonra refactoring yapmak. Yani kodu elden geçirip kullanım yanlışlıklarını ve karışıklıkları gidermek. Mesela 3 satırlık bir kod 2–3 yerde tekrar ediyorsa o scripti, metod haline getirmek. Veya 3 satırlık bir kodun ne yaptığını anlamak için comment(yorum satırı) yazmak gerekiyorsa, scripti metod haline getirip, ne yaptığını anlatan güzel bir isim vermek vs.

Tabi yaptığımızın refactoring olduğunu bilmeden, refactoring yaptığımız olmuştur. Refactoring yöntemlerini incelerken, siz de “aa ben refactoring yapıyormuşum” diyebilirsiniz.

Ayrıca şurada hangi durumlarda ve ne tür yöntemlerle refactoring yapılacağı güzel bir tabloyla gösterilmiş.

Ben peyderpey sourcemaking sitesindeki refactoring yöntemlerini, oradan çıkardığım notlarla(bi nevi özetler) yazmaya çalışacağım. Hem benim daha iyi kavramam hem de varsa burayı okuyan birileri, onların yararlanması açısından faydalı olacağını düşünüyorum.

Zatınıza çook iyi davranın.

Bu yazı ilk olarak mhkoca.com’da yayınlanmıştır.

Bana ulaşmak için: Linkedin, Twitter

--

--

Muhammed Hilmi Koca
Bilişim Hareketi

Alaturka Yazılımcı@roofstacks, Bilişim Hareketi Yayını Editörü, #HavadanSudan, #Yazılım, #Teknoloji https://superpeer.com/muhammed