Nedir Bu Clean Code !

Kısaca okunması, anlaşılması ve bakımı kolay kod için kullanılan bir terimdir.

💡
ChatGPT 'ye göre:

Clean Code (Temiz Kod), yazılım geliştirme süreçlerinde okunabilirliği, bakımı ve anlaşılabilirliği kolaylaştıran kod yazma pratiğidir. Bu terim, yazılım mühendisliği dünyasında Robert C. Martin’in aynı adlı kitabıyla popüler hale gelmiştir. "Clean Code", bir yazılımın hem yazan kişi hem de başkaları tarafından kolayca anlaşılabilir ve geliştirilebilir olması gerektiğini savunur.

Temiz kodun temel özellikleri şunlardır:

1. Okunabilirlik

Kod, bir yazılımcı tarafından kolayca anlaşılabilmelidir. Bunun için:

  • Açık ve anlamlı isimlendirmeler kullanılır (değişken, fonksiyon, sınıf adları vb.).
  • Kodda aşırı karmaşadan kaçınılır.
  • Yorumlar, kodun amacını destekleyecek şekilde yazılır ve aşırıya kaçılmaz.

2. Modülerlik ve Tek Sorumluluk

Bir fonksiyon veya sınıf sadece tek bir işi yapmalıdır (Single Responsibility Principle). Böylece kodun bakımını ve test edilmesini kolaylaştırır.

3. Kodun Kısa ve Basit Olması

Kod mümkün olduğunca kısa ve öz olmalıdır. Gereksiz tekrarlar (duplication) önlenir. DRY (Don't Repeat Yourself) prensibi uygulanır.

4. Anlamlı Yapılar ve İsimlendirme

  • Fonksiyon ve değişken isimleri, yaptıkları işi açıklayıcı olmalıdır.
  • Örneğin: calculateTotalPrice gibi anlamlı bir isim, ctp gibi kısaltmalardan daha iyidir.

5. Hata Yönetimi

  • Beklenen ve beklenmeyen durumlar için sağlam hata yakalama ve yönetim mekanizmaları kullanılır.
  • Hatalar anlaşılır mesajlarla belirtilir.

6. Test Edilebilirlik

  • Temiz kod, birim testlere (unit test) uygun şekilde yazılmış olmalıdır.
  • Kodda bağımlılıklar mümkün olduğunca azaltılmalıdır.

7. Yazılım İlkelerine Uyum

  • SOLID prensipleri, KISS (Keep It Simple, Stupid), YAGNI (You Aren't Gonna Need It) gibi ilkeler benimsenir.

Özetle:

Temiz kod, sadece çalışmasıyla değil, aynı zamanda sürdürülebilirliği ve geliştirilebilirliği ile de başarılı kabul edilen koddur. Bu, projelerde uzun vadede zaman kazandırır ve hata riskini düşürür.

Eğer daha fazla detay istersen veya örnek kod görmek istersen, bilgi verebilirim! 😊