Clean code temiz kod nasıl yazılır


Clean Code (Temiz Kod) Yapısı

Yazılan kod karmaşıklığı ve uzunluğu arttıkça, yazılımcıların da verimliliği oldukça düşer. Çünkü komplike programlar, kişilerin ve takımların senkron bir şekilde çalışmasıyla ortaya çıkarlar. Proje içerisinde yer alan kişiler, proje hakkında fikir sahibi iken, projeye sonradan dahil olacak kişi projenin kod yapısından haberdar değildir. Bu kişinin projeye katkı sağlayabilmesi için öncelikle var olan kodları okuyup anlayabilmelidir. İşte sizin projenizin kod yapısı ne kadar çok karmaşık ise, kodu okuyan kişinin anlaması da o kadar güçleşir. Burada clean code yani Türkçe karşılığı ile temiz kod yapısı karşımıza geliyor. Gelin clean code nedir bunu inceleyelim.

Clean Code (Temiz Kod) Nedir?

Clean Code (Temiz Kod) teriminin anlamını sektörün ileri gelenlerden öğrenelim.

Bjarne Stroustrup (C++’ın mucidi): Kodumun şık ve temiz olmasını seviyorum. Kodda mantık, hataların saklanmasını zorlayacak kadar düz; bağımlılıklar (dependency) bakımı kolaylaştıracak kadar minimal olmalı. Tüm istisnai durumlar (exceptions) ele alınmalı, performans optimale yakın olmalı.

Grady Booch (Object Oriented Analysis and Design with Applications kitabının yazarı): Temiz kod basit ve açıktır. Temiz kod, iyi yazılmış bir düzyazı gibidir. Temiz kod, asla tasarımcının niyetini gizlemez, daha çok berrak soyutlamalarla ve düz kontrol satırlarıyla doludur.


Dave Thomas (OTI Labs’ın kurucusu): Temiz kod, onu geliştiren yazılımcı dışında başka geliştiriciler tarafından da okunabilir ve iyileştirilebilir. Birim ve kabul testleri vardır. Anlamlı isimlendirmeleri vardır. Bir şeyin yapılması için tek bir yol vardır. Çok az bağlılığı vardır ve temiz bir API sağlar.


Michael Feathers (Working Effectively with Legacy Code kitabının yazarı): Temiz kod için bildiğim birçok özelliği sıralayabilirim; ancak bir tanesi diğer tüm özellikleri kapsıyor. Temiz kod her zaman ona değer veren biri tarafından yazılmış gibi görünür.

Bjarne Stroustrup , Grady Booch , Dave Thomas  , Michael Feathers

Clean Code yapısını en iyi şekilde açıklayan kaynaklardan “Clean Code: A Handbook of Agile Software Craftsmanship” kitabının yazarı Robert C. Martin ise kitabına şu şekilde başlıyor:

“Bu kitabı iki sebepten ötürü okuyorsunuz: ilki yazılımcısınız, ikincisi daha iyi bir yazılımcı olmak istiyorsunuz. Güzel, çünkü daha iyi yazılımcılara ihtiyacımız var.” 

Robert C. Martin

Clean Kod (Temiz Kod) Nasıl Yazılır?

Clean code yapısının ne anlama geldiğini ve neden önemli olduğunu yukarıda belirttik. Şimdi nasıl temiz kod yazarız, nasıl clean code yazabiliriz bunlara bakalım.

  1. İsimlendirmeyi Amacınıza Uygun Yapın!
    Kod yazarken değişken oluştururken, fonksiyon yazarken ya da sınıf/nesne türetirken hep isimlendiriyoruz. Bu isimlendirmeyi, o yapının amacına göre yapmamız gerekmektedir. Yani o yapı neden var, ne iş yapıyor ve nasıl kullanılıyor bunu göstermelidir. Hemen örnek verelim:
    int g; // Gun sayisini gosterir
    yerine
    int gun; int gunSayisi // Gibi yapılar daha anlaşılır olacaktır.
    Ya da matris olmayan bir veri için hesapMatrisi gibi içinde matris geçen bir isim kullanmayın.
    Aynı zamanda da büyük küçük harf karışıklığına sebebiyet vermemeye çalışın. Mesela bazı derleyiciler de küçük L harfi (l) ile büyük I harfi (I) benzer biçimde görünmektedir. Bunlara dikkat etmeliyiz.
  2. İsimleri numara vererek farklılaştırmayı bırakın!
    Hemen bir örnek vererek açıklamak istiyorum. Mesela elinizde input verisi var. Buna a değişken ismini verdiniz. Output yani çıkış verisini a2 yapmak clean code yapısına hakarettir. Bu tarz isimlendirmeler yerine yani a yerine girisVerisi kullanılabilir. Aynı şekilde a2 yerine de cikisVerisi ismi kullanılabilir.
  3. Telaffuz edilebilen isimler kullanın.
    Şunu hayal edin. Bir kod yazdınız, bir sonuç ortaya çıktı. Bunun ne anlama geldiğini yanınızdaki takım arkadaşınıza soruyorsunuz. “Aslı, c3 değişkeni 0 döndü.” cümlesi mi daha anlaşılır yoksa “Aslı, kalanPara değişkeni 0 döndü.” cümlesi mi daha anlaşılır? Kendi yazdığınız kodu tekrar okurken dahi anlaşılır ve söylenebilir kelimeleri tercih etmenin faydasını göreceksiniz.
  4. Aradığınız zaman bulabilin!
    1500 satırlık bir kod yazdınız. Projede o kadar güzel isimlendirmelere çok hakimsiniz diyelim. Bir değişkenin olduğu kod bloğunu incelemek istiyorsunuz. Kodu nasıl bulabilirsiniz? En kolayı CTRL+ F ile değişkenin/sınıfın/fonksiyonun adını aratmaktır. Şimdi siz isim olarak bir iki harflik değişken isimleri kullandıysanız; muhtemelen onlarca sonuç çıkacaktır. İsimlerin uzun olması sizi korkutmasın. Uzun olması demek aradığınız zaman daha kolay bulabilmeniz demektir.
  5. Sınıf isimleri ve metot isimleri nasıl olacak?
    Sınıflara isim verirken fiil kullanmaktan kaçının. Tam tersi de metotlara isim verirken de fiil kullanmaya çalışın. Yani Musteri isimli bir sınıf olur ama metot olması saçma olur. Aynı şekilde SaklaKaydet isimli bir sınıf olmaz ama metot olur.

Bu yazımızda clean code (temiz kod) nedir, neden kullanılır ve nasıl kullanılır bunları öğrenmiş olduk.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir