Okunabilir Kod, Bakımı Kolay Koddur

Bu kısa yazımızda, bence oldukça önemli bir konuyu ele almamız gerektiğini düşündüm. Kod yapınızı ve kodlama becerilerinizi daha iyi bir hale getirebilmek için size bazı öneriler vermeye çalışacağım. Tüm örneklerimi JavaScript üzerinden vereceğim.

Okunabilir kodun anlamı aslında; bakımı, incelemesi, hataların tespiti gibi konuların, incelenmesinin daha kolay olduğu kod yapılarıdır. Bir geliştirici olarak amacımız her zaman temiz, sade ve yalın yapıda kodlar yazmak olmalıdır. Çünkü, sizden sonra kodunuzu inceleyecek başka geliştiriciler, takımınızın diğer geliştirici üyeleri, yazdığınız kodları kolayca anlayabilmelidir.

1. Gereksiz Kod Yorumlarını Kaldırın

Elbette bazı kod yapıları oldukça karmaşık gözükebilir. Bunu biliyorum, çünkü bu her zaman başıma geliyor. Mesela aşağıdaki örnekte, kodun neden yazıldığını, her bir dizeye neden ihtiyaç duyulduğunu anlamak için herhangi bir yorum satırına ihtiyacımız yok.

Panoya Kopyala!

Bu kod bölümünün olduğu bir projede çalışan ekibin; buradaki kodun neden yazıldığını ve her bir satıra neden ihtiyaç duyulduğunu bilmesi gerekir. Eğer bilmiyorlarsa bunu sormalılar. Kısacası gereksiz yere yorum satırı açarak, kodlarınızı bir hurdalığa çevirmeyin.

Ayrıca Git, eski kodlarınızı kontrol edebilmenizi sağlayan harika bir sisteme sahiptir. Böyle bir özellik varken neden fazladan satırlarla kodlarınızı doldurasınız?

2. İsim Verin

Br önceki örnekte, MergeArrays ismine bakarsanız, bu fonksiyonun X diziyi yeni bir dizide birleştirdiği çok açık. Peki iki sayı dizisini birleştiren, yeni ve benzersiz bir sayı dizisi oluşturan bir işlevi düşünelim. Burada adlandırma yapmak, işimizi oldukça kolaylaştırırdı.

Panoya Kopyala!

Burada işleve verdiğimiz isim, o kadar da kötü değil. Yukarıdaki örnekte olduğu gibi bir isimlendirme yapmak, daha yalın, sade ve anlaşılabilir bir kod yapısı sunacaktır. Bir başka örneğe bakalım:

Panoya Kopyala!

Burada ise, bazen isimlendirmenin içinden çıkamadığımız zamanlarda kullanabileceğimiz bir yapı görüyoruz. Elbette, yeni bir işlevi çağırmadan güzel bir tek satır kod oluşturmak kolaydır. Ancak bazen tek satır kodlar o kadar da okunabilir olmuyorlar.

3. If İfadesi

Size bir çok kez gördüğüm bir sorunu göstereyim:

Panoya Kopyala!

Peki bunu daha iyi ve daha doğru nasıl yazmamız gerekiyor. Ben olsam şu şekilde yazardım:

Panoya Kopyala!

Bunu yaparak cümle gibi okunabilen, sade bir kod yapısı elde edebiliyoruz.

4. Erkenden Kapat

Buna ne isim vermem gerektiğini bulamadım ama “Erken Çıkış”, “Erkenden Kapat” gibi kavramlar akılda kalıcı olur diye düşündüm. Eminim buradan gösterdiğim gibi bir kod yapısı ile çoğunuz karşılaşmışsınızdır:

Panoya Kopyala!

Burada nesnenin “event” hatalı olup olmadığını ve özelliğinin “target” mevcut olup olmadığını kontrol etmeye çalışıyoruz. Buradaki sorun, halihazırda 2 if ifadesi kullanmamızdır. Peki çözüm olarak benim önerim nedir?

Panoya Kopyala!

Burada “Erken Kapat (!)” olarak isimledirdiğimiz durumla, event ve event.target hakkında ki doğru yada yanlış ifadesini hemen görebiliyoruz. Böylece daha sade, yalın, okunabilir ve anlaşılabilir bir kod yapımız olabiliyor.

5. Destructuring Assignment

JavaScript ile nesneleri ve dizileri yok etmeniz mümkün. Ayrıntılı bilgi için : Developer.Mozilla adresine göz atabilirsiniz.

Bununla ilgili size bir kaç kod örneği göstermek istiyorum:

Panoya Kopyala!

Buna harika olacak bir örnek, bir API’den veri alırken karşımıza çıkar.

Panoya Kopyala!

Bu kod örneği, kimliği 1 olan bir düzenleyiciyi getirmekte olduğunuzu gösterir. Düzenleyici nesnesinin bir adı vardır ve siz onu yok edersiniz. Bunda yanlış bir şey yok. Bu kod çalışıyor ve gayet iyi durumda. Ama isim neden hala name? Tüm olaydaki tek özellik bu mu olacak?

Burada bu mülkü yeniden adlandırarak tüm bu sorulardan kaçabilirsiniz:

Panoya Kopyala!

Böylece kod daha sade ve okunaklı bir hale gelir. Herkes belirtilen değişkenin, düzenleyicinin adı olduğunu bilecektir.

6. İzci Kuralı

Nasıl bulduysan öyle bırak! Bulduğundan daha iyi bırak! Bu cümleleri onlarca defa duyduğunuza eminim. Yazılım alanında da karşılaşacağınız cümleler olacaklar.

Ekibinizdeki herkes karışık ve anlaşılması zor bir şekilde kod yazarsa, temizlemeniz ve mevcut hataları bulup düzeltmeniz çok fazla emek ve vakit alacaktır. Yani ekibinizde yer alan herkesin bir izci olmasına dikkat edin. Herkes gördüğü hataları düzeltir, sade ve yalın kod yazarsa, çok daha temiz bir projeniz olabilir.

7. Kod Stilinizi Geliştirin

Tüm geliştirici ekibinizle bir araya gelin ve kendinize bir kod stili belirleyin. Tek tırnak veya çift tırnak, space veya tab, virgüller, noktalar… Sadece bir stil seçin ve hepiniz bu stile bağlı kalın. Bu tür sorunları çözmek için kullanılacak çok sayıda araç var. Benim önerim ise Prettier olurdu.  Ayrıca Github üzerinde Husky‘i de inceleyebilirsiniz.

Bu iki araçta, kaydetmeden önce her zaman önceden yapılandırılmış komutu çalıştırır. Doğru şekilde yapılandırırsanız, güzel olanı çalıştırır ve tüm dosyalara tüm kuralları uygular. Bu, ekibin her zaman aynı kod stiline sahip olmasını sağlar.

Sonuç Olarak

Bazı kuralların açık olduğunu ve bazılarının anlaşılması zor olduğunu biliyorum. Bu kuralların önemi yalnızca daha büyük kod projelerinde netleşecektir. Ancak bu, onu daha küçük projelerinize uygulamamanız gerektiği anlamına gelmez. Kod kalitenizi iyileştirmek, küçük projelerinizde daha verimli olmanıza yardımcı olacaktır. Ayrıca ekibinizin kodu okumasına ve “pull request” isteklerinizi onaylamasına yardımcı olacaktır. Dediğim gibi, okunabilir kodun bakımı daha kolaydır. Bu kolaylığın yanında zamanla bir çok başka avantaj elde ettiğinizi de göreceksiniz.

Temiz ve yalın kodlama hakkında daha fazla bilgi edinmek isterseniz, Robert Martin tarafından yazılan Clean Code‘u okumalısınız.

Yalın, sade ve anlaşılabilir kodlamalar dileğiyle.

Sağlıcakla Kalın…

Paylaşmak İster Misiniz?