Ders-1 Clean Code

Clean Code Nedir

Bir kodu temiz yapan şey nedir? Böyle temel şeyleri tanımlamak çok kolay değildir. Açıklamaya ve örneklemelere ihtiyaç vardır. Açıklama olarak, ‘kodun yazılımcılar tarafından daha hızlı ve anlamlı şekilde okunup proje geliştirme maliyetlerini küçültmek için uygulanan kurallar sonucu ortaya çıkan kod’ verilebilir.

Clean Code nedir sorusunu Ron Jeffries‘e sorarsak:

Küçük, ifade gücü yüksek, basit ve tekrarsız

Temiz Kod, hem yazar dışındaki yazılımcılar tarafından okunabilmesi hem de aradan geçen bir süre sonucunda yazarında okuyabiliyor olması gerekmektedir. Clean Cod’da anlamlı isimler ve isimlendirme kuralları vardır. Bir şeyi yapmanın pek çok yolu olsada Clean Code olabilecek en iyi yolu kullanılır.

Martin Fowler‘ın deyimiyle

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir, sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.

Clean Code, rahat anlaşılır ve değiştirilebilir koddur. Kısadır ve bağımlılıktan uzaktır. Programlama sürecine insan zafiyetlerini katarak insan için her parametreyi daha anlaşılır kılar. Kod eğer Clean Code değil ise kod kötü (dirty code) ve kalitesiz koddur. Clean Code, teknolojiden, sektörden ve dilden bağımsız olarak, temiz, anlaşılır, yalın ve kaliteli koddur. Temiz kod olması gereken gibi yazılıp olmaması gereken kodu engelleyen koddur.

Temiz Kod Çerçevesi

Yukarıdaki fotağrafdan yola çıkarak; temiz kod, tam’dır, basittir, odaklıdır ve doğrudur. Odaklı kod, tekrarsızdır ve tek hedeflidir. Basit kod, anlaşılır ve kısa olandır. Tam kod, olması gerekeni yapan, olabilecek olana kadar önlemini alan, olmaması gerekenide önleyen koddur. Doğru kod, kendi başına doğrulanmış ve çevresiyle birlikte entegre edilmiş koddur.

Clean Code, bir teknoloji problemi değildir. Clean Code, iyişini iyi yapmakla ilgilidir, bir ahlak problemidir.

Temiz yazılımayan kod:

  • Karmaşıktır
  • Bakımı zordur
  • Maliyetlidir
  • Mevcut karmaşıklığın hızı gittikçe hızlanarak artar

Temiz kod elde etmek için:

  • Kurumsal süreç ve bireysel işler
  • Düşünme/tasarım
  • İletişim, paylaşma ve tartışma
  • Refactoring aşamasını sürece dahil etmek
  • Tasrım desenlerini ve standartları dahil etmek
Temiz Kod Çerçevesi

Bir yanıt yazın

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