Ders-5 Clean Code – Anlaşılır Kod (Odaklı)

  • Anlaşılırlık, şekilden çok içerikle ilgilidir.
  • İçerik açısından bakıldığında anlaşılır kod, olabildiğince okuyanın konuya hakim olmasına gerek bırakmadan, çok detaya girmeden, nispeten yüzeysel olarak hızlıca kavranan koddur.
  • Dolayısıyla öncelikle programcı, kendisi için kod yazmalıdır.

Martin Fowler, Refactoring isimli kitabında şçyle der:

Herhangi bir insan bilgisayarın anlayabileceği kod yazabilir. İyi programcılar ise insanların anlayabileceği kod yazar.
  • Anlaşılır kodun en temel içerik özelliği, odaklı olmasıdır.
  • Odaklı kod, çatı (framework) – bileşen – paket – arayüz – sınıf – metot/fonksiyon – blok – değişken, ne olursa olsun, sadece ve sadece bir şeyi halleder.
  • Odaklı kod, bir yerde birden fazla şeyi bir araya getirmez.
  • Odaaklı kod aynı zamanda kısadır, küçüktür.
  • Yazılımda hiç bir soyutlamanın büyüğü makbul değildir.
  • Kodlama, anlama, anlatma, test, değişim v.s için odaklı kod şarttır.

Odaklı kodun iki özelliği vardır:

  • Tek hedeflidir.
  • Tekrarsızdır.

  • Tek hedeflilik, bir seferde sadece bir şeyi hedeflemek, onu yapmak, halletmek demektir.
  • Bir şeyi değiştirmenin sadece bir sebebi olmalıdır.
  • Yapılan işi sadece ve sadece bir yerde ve bir kere yapmak, tekrarsız kodun gereğidir.

İlgili herşey ilgisiz hiçbir şey.

By prensipleri uygularken doğru soyutlama seviyesini belirlemek çok önemlidir:

  • Bir pakette bir araya getirilecek sorumluluklar grubunu bir sınıfa sığdırmak,
  • Bir sınıfta ya da bir kaç metotta yapılacak sorumlulukları birleştirip bir metotta yapmka,
  • Bir metotda yapılacakı bir bloka hatta satıra sığdırmak,
  • Bir blokta yapılacak adımları, tek bir satırda , bir adım olarak yapmak çok sık rastlanan türden yanlış soylamalardır.

Mükemmeliğe ekleyerek değil, çıkararak ulaşabiliriz. Bir kodda çıkarılacak gereksiz özellik, kod kalmadıysa bu kod en iyi koddur.

  • Odaklı dolayısıyla da küçük soyutlamalar bir seferde elde edilemez.
  • Soyutlamanızı devamlı surette budayarak kısa ve küçük soyutlamalara ulaşabilirsiniz.

B. Pascal The Provincial Letters isimli eserinin 16. mektubunda şöyle der:

Bu mektubu böyle uzun yapabildim çünkü kısa tutmak için zamanım yoktu.

Don’t Repeat Yourselft

Don’t Repeat Yourself, DRY, tekrarsız kod yazmanın sloganıdır:

Her bilgi parçasının sistemde, tek, açık, günvenilir bir ifadesi olmak zorundadır.

Kdv hesabı, bir kuralı kontrol etmek, yaşa bağlı olarak hesabın nasıl yapılacağı v.b tek bir yerde olmalı. Karşılaşıldığında sıfırdan yazılmamalıdır. Sadece ve sadece bir yerde olmalıdır.

Davranış, bilgi, kısıt v.b ne olursa olsun sadece bir yerde olmalıdır.

  • Dry prensibini sadece tasarım ile gerçekleştirmek imkansızdır.
  • Kodlarken refactoring ile tekleştirmeye gidilmelidir.
  • Tekleştirme, cut paste ile sağlanır.
  • Birbirine benzeyen kodlar, tek bir yapı altında toplaır.
  • Tekrar kullanım (reusability) artar.
  • Copy-paste kullanmayalım, cut paste kullanalım.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir