ÖneriTeknoloji

Temiz Kod Düzenlemesi İçin 15 Öneri

Temiz Kod, oluşturulan kod diziliminin tüm yazılımcılar tarafından en basit haliyle okunması, anlaşılması ve gerektiğinde üzerinde kolay bir şekilde düzenleme yapılmasını ifade etmektedir. Clean Code olarak da bilinen bu tanım, yazılımcıların başarısının da en büyük göstergesidir. Geliştiricilerin kod düzenlenmesi üzerinde çalışırken dikkat ettikleri en önemli nokta yazılımın “Temiz Kod” ile oluşturulup, oluşturulmadığı olmaktadır.

Kod diziliminin karmaşık ve uzun şekilde oluşturulması, geliştiricilerin verimlilik kapasitesini de olumsuz şekilde etkilemektedir. İyi bir ekip çalışması için yazılımların Temiz Kod çerçevesinde yaratılması önem taşımaktadır. Günümüzde Temiz Kod kavramı, Yazılım Mühendisi ve Yazar olan Robert C. Martin ile ilişkilendirilmektedir. Bunun nedeni de Robert C. Martin’in “Clean Code” kitabının sektörde otorite olarak kabul edilmesidir. Temiz Kod düzenlemesi için önerileri yazımızın devamında bulabilirsiniz.

Temiz Kod Düzenlemesinin Bileşenleri

Spesifik bir proje için oluşturulan kod yazılımının, neye hizmet ettiği, hangi yönergeleri barındırdığı, hangi yöntemle / hangi sorunların çözümlendiği anlaşılmaktadır. Ancak süreç içerisinde oluşturulan kodlar projeye hizmet etmeyebilir. Anlaşılmaz bir hale gelen kod dizilimi, proje içerisinde yer alan ekip için ekstra sorunlara yol açabilmektedir. Böyle bir olası sorunun önüne geçmenin yolu da “Temiz Kod” düzenlemesinden geçmektedir. Temiz kod düzenlemesinin temel bileşenleri aşağıdaki şekilde belirtilmektedir.

  • Okunabilirlik özelliği “Readability
  • Değiştirilebilirlik özelliği “Changeability
  • Genişletilebilirlik özelliği “Extensibility
  • Sürdürülebilirlik özelliği “Maintainability

Tüm bu bileşenler bir araya geldiğinde, oluşturulan kod dizilimi için Temiz Kod “Clean Code” tanımı yapmak da mümkün hale gelmektedir. Temiz Kod bileşenlerine eşlik eden iki ana kural yapısı bulunmaktadır. Bunlar;

  • Genel kurallar
  • Tasarım kuralları olarak açıklanmaktadır.

Temiz Kod Genel Kuralları

Temiz Kod düzenlemesinde uygulanması gereken genel kurallar şöyledir;

  • Yazılım sektöründe aktif olarak kullanılan güncel yaklaşımları barındırması
  • Kod diziliminin en yalın haliyle yazılması, komplike algoritmalardan kaçınılması
  • Mevcut bir kod üzerinde düzenleme yapılıyorsa, kod diziliminin bulunduğundan daha temiz şekilde bırakılması
  • Düzenlemelerde her zaman sorunun ana kaynağına inilerek işlem yapılması

Temiz Kod Tasarım Kuralları

Temiz Kod düzenlemesinde uygulanması gereken tasarım kuralları ise şöyledir;

  • Yapılandırma özelliği bulunan verilerin kolay erişilebilir seviyede konumlandırılması
  • Düzenlemelerde If / Else veya Switch / Case tercih edilmesi
  • Multi-Threading kodlarının mutlaka ayrıştırılması
  • Gereğinden fazla yapılandırılabilirliğin önüne geçilmesi
  • Dependency Injection kullanılması
  • Demeter Yasasına uygunluğun bulunması

Temiz Kod Düzenlemesinde Yararlanabileceğiniz Öneriler

1-    Projeye özel, spesifik isimlerin kullanılması

Temiz Kod yazılımı sırasında mutlaka amacı ifade eden isimler kullanılmalıdır. Değişkenlerin, fonksiyonların yada sınıfların isimleri, neye hizmet ettiklerini açıklamalıdır. İsim seçimi kod diziliminin nasıl kullanıldığını da açıklayan ibareler barındırmalıdır.

2-    İsimlerde yanlış yönergelerden kaçınmak

Temiz kod yazılımı sırasında verilen isimler bazen yanlış yönlendirmelere neden olmaktadır. Örneğin; bir kod dizilimi “Menü Listesi” gibi spesifik bir isimle tanımlanıyor ancak ilgisiz ve liste olmayan bir yazılımı tanımlıyorsa, bu yapılabilecek en büyük yanlışlardan olacaktır. O nedenle temiz kod düzenlemelerinde tanımlı isimlerin yanlış yönergeler içermemesine dikkat etmek gerekmektedir.

3-    İsimlerin farklılaştırılması

Bir proje üzerinde çalışırken isimlerin sonuna rakam yada karakter ekleyerek farklılaştırmak, temiz kod düzenlemesi temel bileşenlerine de aykırı bulunmaktadır. Geliştiriciler için zorlaştırıcı etkisi bulunan ve kod dizilimini daha karmaşık hale getiren bu yöntem yerine, kaynağın yada hedefin kullanılması fonksiyonu daha anlaşılır kılacaktır.

4-    İsimlerin kolay telaffuz edilmesi

Temiz kod düzenlemesi ekip çalışması için de büyük önem taşımaktadır. Yazılımcının kod düzenlemesi sırasında kolay telaffuz edilen isimleri tercih etmesi, projeye dahil olan diğer ekip arkadaşlarının da işlerini kolaylaştıracaktır. Farklı harflerin bir araya getirilerek oluşturulması ile tanımlanan kelimeler hem okurken hem de üzerinde çalışırken soruna neden olmaktadır. Bunun yerine net ve okunabilir isimlerin seçilmesi temiz kod düzenlemesinde önem taşımaktadır.

5-    İsimlerin kolay şekilde bulunması

Bir proje için hazırlanan kod diziliminde “Tek Harfli” yönergeler kullanmak, isimlerin kolay bir şekilde bulunmasını engellemektedir. Harf ve karakter yığını içerisinde “o” tek harfi ve işaret ettiği alanı bulmak, projeye dahil olan diğer ekip arkadaşlarının daha fazla zaman harcamasına neden olmaktadır. Bunun yerine aratılması ve ulaşılması kolay isim ve isim öbeklerinin kullanılması, temiz kod düzenlemesinde önerilen başlıklardan biri olmaktadır.

6-    İsimleri kodlamaktan kaçınmak

Geleneksel yazılımcılar kod dizilimlerini oluştururken, isimleri kodlamaya daha meyilli olarak gösterilmektedir. Bunun nedeni de geçtiğimiz yıllarda kod dizilimi sırasında mecburen bu fonksiyonların kullanılmasının gerekliliğidir. Ancak teknolojik gelişmeler bu durumu zorunlu olmaktan çıkarmaktadır. Projeye verilen isimlerin en yalın ve sade şekilde oluşturulması, temiz kod düzenlemesinin en etkili detaylarından biri olarak karşımıza çıkmaktadır.

7-    Eşleşmelerin doğru kullanılması

Yazılımcıların diğer sektör çalışanlarına göre daha zeki olduğu iddia edilmektedir. Bazı yazılımcılarda bunu ispat etmek istercesine eşleşmeleri sadece kendilerinin anlayabileceği bir dilde oluşturmaktadır. Oysa temiz kod düzenlemesi herkes tarafından kolay anlaşılabilir olmayı temel almaktadır. Temiz kod düzenlemesinde doğru eşleşmeler için yalın ifadeler kullanılması tavsiye edilmektedir.

8-    Sınıf ismi seçimleri

Temiz kod yazılımı sırasında sınıf ve objelerin isimleri özenle seçilmelidir. “iletisimsayfasi”, “musteridosyasi” gibi spesifik kelime öbeklerinin kullanılması sınıflandırma için gösterilen önerler arasındadır. Unutulmaması gereken en önemli nokta da sınıf ismi seçerken fiil kullanımından kaçınılması olarak belirtilmektedir.

9-    Metot ismi seçimleri

Temiz kod düzenlemesinde dikkat edilmesi gereken başka bir nokta da metot isimlerinin seçimidir. Kod dizilimini daha anlaşılır hale getiren metot ismi seçimi, yazılımcının üzerinde çalıştığı proje ile ilişkilendirilmelidir. Temiz kod düzenlemesinde metot ismi seçerken fiil kullanımına yer verildiğinde emin olunması da gerekmektedir. Örneğin; “sayfayisil”, “projeyisakla” gibi yönergeler içeren metot isimleri temiz kod düzenlemesini her zaman en verimli hale getirmektedir.

10- Kelime oyunlarından kaçınmak

Bir proje üzerinde çalışırken çelişkili komutlara yer vermek, temiz kod düzenlemesinin “Anlaşılabilirlik” özelliğini yitirmesine sebebiyet vermektedir. Spesifik sınıflar için oluşturulan metotlarda ardışık olarak “gönder”, “sil”, “kaydet” gibi isim seçimleri proje üzerinde çalışan diğer kişilerin kafa karışıklığı yaşamasına neden olmaktadır. Bu nedenle temiz kod düzenlemesinde kelime oyunlarından kaçınmak, net ifadeler kullanmak önem taşımaktadır.

11- Kavram isimleri seçimi

Temiz kod düzenlemesinde her bir kavram için sadece bir kelime kullanılması önerilmektedir. Bu şekilde olası yanlış yorumlamaların ve karışıklığın önüne geçebilmektedir. Kavram isimleri seçiminde, dizilimde yer alan rakamların toplanarak kullanılması gibi yöntemler de yine temiz kod için önerilmeyen seçimlerdir.

12- İsimlerin çözüm alanını işaret etmesi

Hazırlanan kod yazılımları çoğu zaman programcılar tarafından okunmaktadır. Bu nedenle temiz kod düzenlemesinde bilişim terimlerine, algoritma ve örüntü isimlerine, matematik terimlerine yer verilmesi oldukça uygundur. Yazılımcılar kod düzenlemelerinde çözüm alanına yönlendirme ile yükümlüdür. Bu alan çevresinden uzaklaşan her bir dizilim, okuyucu ve düzenleyici için verimlilik kaybına neden olmaktadır.

13- Soruna yönelik isim kullanımı

Temiz kod düzenlemesinde, bazı durumlarda çözüm alanına işaret eden isimler bulmakta zorlanabilir. Bu gibi geçişlerde soruna yönelik isimlerin kullanılması oldukça işlevsel bulunmaktadır. Programcı kod dizilimini okurken, soruna yönlendiren metotlar ve sınıflarla yolunu çok daha kolay bulabilmektedir.

14- Bağlamların anlam içermesi

Proje üzerinde çalışırken kod diziliminde yer alan bağlamların, bütünü ifade eden bir anlam içermesi önem taşımaktadır. Örneğin; bir iletişim sayfası için oluşturulan sınıflar “sirketismi”, “sektor”, “mesajiniz” gibi bağlamları içermektedir. Kod dizilimini okuyan ve yorumlayan kişi, dizilimin onu nereye yönlendirdiği hakkında hemen bir fikir sahibi olabilmektedir. Bu nedenle temiz kod düzenlemesinde bağlamları ana hedefe işaret eden kelime ve kelime öbeklerinde seçmek önerilmektedir. Bağlam seçiminde dikkat edilmesi gereken bir diğer nokta da gereksiz bağlam kullanımından kaçınmak olarak gösterilmektedir. “guzelmutfakdekorasyonu” gibi bir fonksiyon hem kısa ve yakın olmayacak hem de gereksiz bağlam içermesi ile temiz kod düzenlemesi bileşenleri ve ilgili kriteri karşılanmayacaktır.

15- Mizahi kelime seçimlerinden kaçınmak

Yazılım işi çoğu zaman zorlayıcı ve komplike bir hale gelmektedir. Bu nedenle yazılımcılar kod düzenlemelerinde mizahi bir yaklaşım içine girme eğilimi göstermektedir. espri anlayışı her zaman kişiye özeldir ve bunu kod düzenlemesine taşımak “Anlaşılabilirlik” özelliğini yerine getirememektedir. Hukuk alanında yapılan bir kod düzenlemesine “portatifsemsiye” tanımlaması kullanmak belki yazılımcı için eğlendirici bir detay olacaktır ancak programcı bu tanımlamanın neye hizmet ettiğini anlamayacaktır. Bu nedenle temiz kod düzenlemesinde mizahi yaklaşımlardan uzak durmak önerilmektedir.

Temiz Kod Düzenlemesinin Avantajları Nelerdir?

Yukarıda belirtilen 15 temiz kod düzenlemesi önerisi, yazılımların en işlevsel ve verimli şekilde kullanılmasını amaçlamaktadır. Temiz kod düzenlemesi projeye dahil olan ve sonrasında projeyi kullanan herkes için avantaj sağlamaktadır. Temiz kod düzenlemesinin öne çıkan faydaları aşağıdaki şekilde sıralanmaktadır.

  • Temiz kod düzenlemesi ile oluşturulan kodların anlaşılması çok daha kolay olmaktadır
  • Oluşturulan kod diziliminin hangi komuta hizmet ettiği daha kolay fark edilmektedir
  • Bir süre ara verip, aynı projeye geri dönüldüğünde, çalışmaya devam etmek daha kolay ve verimli olmaktadır
  • Temiz kod düzenlemesi ile oluşturulan yazılımları başka kişiler de kolay bir şekilde anlayabilir
  • Temiz kod düzenlemesi ile yazılan metotları test etmek çok daha kolay olmaktadır
  • Temiz kod düzenlemesi ekstra zaman ve emek kaybının önüne geçmektedir

Hülya Ergün

2014 yılından beri kurumsal şirketlere sosyal medya hesap yönetimi konusunda destek vermekteyim. Content Writers Turkey (CWT) üyesiyim. Aynı zamanda, Türkiye’nin önde gelen içerik ajanslarında freelance olarak içerik yazarlığı yapmaktayım. Okumaya, araştırmaya, yazmaya ve yaratıcılığa açık her alana ilgi duyuyorum. Yoga ve meditasyon pratikleri ile enerjimi dengeliyorum.

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Başa dön tuşu