X
X

Clean Code Nedir?

AnasayfaYazılarYazılımClean Code Nedir?

Yazılım geliştirme sürecinde, kodun sadece çalışıyor olması yeterli değildir; aynı zamanda okunabilir, anlaşılır, modüler ve sürdürülebilir olması gerekir. İşte bu noktada Clean Code (Temiz Kod) kavramı devreye girer.

Clean Code, Robert C. Martin (Uncle Bob) tarafından tanımlanmış ve yazılım dünyasında büyük kabul görmüş bir kavramdır. Temiz kod, sadece makinenin değil, aynı zamanda diğer yazılımcıların da kolayca okuyabileceği ve geliştirebileceği bir kod yapısını ifade eder.

Eğer bir yazılım ekibiyle çalışıyorsanız veya projenizin uzun vadeli sürdürülebilir olmasını istiyorsanız, temiz kod yazma prensiplerini öğrenmek ve uygulamak büyük bir avantaj sağlayacaktır.


Neden Clean Code Önemlidir?

???? Bakım Kolaylığı: Temiz kod, hata ayıklama ve geliştirme süreçlerini hızlandırır.
???? Okunabilirlik: Başka bir geliştirici (veya gelecekte siz) kodu kolayca anlayabilir.
???? Modülerlik: Tekrar kullanılabilir ve genişletilebilir bir yapı oluşturur.
???? Hata Azaltma: Karmaşık, anlaşılmaz kodlar yerine basit ve net yapılar sayesinde hata oranı düşer.
???? Ekip Çalışmasını Kolaylaştırma: Kod standartlarına uygun yazılmış bir proje, ekip içindeki iletişimi güçlendirir.


Clean Code Yazma Prensipleri

1. Anlamlı ve Açık Değişken ve Fonksiyon İsimleri Kullanın

Kötü Örnek:

java
int a = 5; String x = "John";

İyi Örnek:

java
int maxLoginAttempts = 5; String customerName = "John";

Neden?

  • "a" ve "x" gibi değişken isimleri anlamsızdır.

  • "maxLoginAttempts" ve "customerName" değişkenleri kodu okuyan kişi için daha açık ve anlaşılırdır.


2. Fonksiyonlar Tek Bir İş Yapsın (Single Responsibility Principle - SRP)

Her fonksiyon yalnızca bir görevi yerine getirmelidir. Uzun, karmaşık fonksiyonlar yerine, küçük ve iyi tanımlanmış işlevler oluşturmak kodun sürdürülebilirliğini artırır.

Kötü Örnek:

python
def process_user_data(data): validate(data) save_to_database(data) send_email_notification(data)

İyi Örnek:

python
def validate_user(data): pass def save_user_to_db(data): pass def send_welcome_email(data): pass

Neden?

  • Kötü örnekte, tek bir fonksiyon birden fazla işlem yapıyor.

  • İyi örnekte, her işlem ayrı bir fonksiyona bölünmüş, böylece daha okunaklı ve genişletilebilir bir yapı oluşmuş.


3. DRY (Don't Repeat Yourself) İlkesine Uyun

Kod tekrarını önlemek için ortak işlemleri fonksiyon veya modüllere ayırın.

Kötü Örnek:

java
double calculateTax(double amount) { return amount * 0.18; } double calculateDiscount(double amount) { return amount * 0.18; }

İyi Örnek:

java
double calculateRate(double amount, double rate) { return amount * rate; }

Neden?

  • Kötü örnekte, vergi ve indirim hesaplama işlemleri aynı mantığı kullanıyor ancak iki ayrı fonksiyon var.

  • İyi örnekte, ortak hesaplama işlemi tek bir fonksiyona alınarak tekrar eden kod miktarı azaltılmış.


4. SOLID Prensiplerine Uyun

SOLID, yazılım mimarisinin temel taşlarından biridir ve temiz kod yazmayı kolaylaştırır.

  • Single Responsibility Principle (SRP) - Her sınıfın tek bir sorumluluğu olmalı.

  • Open/Closed Principle (OCP) - Kod, genişletilmeye açık, ancak değiştirmeye kapalı olmalı.

  • Liskov Substitution Principle (LSP) - Alt sınıflar, üst sınıfın yerine kullanılabilmeli.

  • Interface Segregation Principle (ISP) - Kullanılmayan metodları içeren büyük arayüzler oluşturmaktan kaçının.

  • Dependency Inversion Principle (DIP) - Bağımlılıkları soyut katmanlarla yönetin.


5. Gereksiz Yorum Satırlarından Kaçının

Kodun kendini açıklaması gerektiğini unutmayın. Yalnızca gerçekten gerekliyse yorum ekleyin.

Kötü Örnek:

python
# Bu fonksiyon kullanıcının yaşını hesaplar def age_calculator(birth_year, current_year): return current_year - birth_year

İyi Örnek:

python
def calculate_age(birth_year, current_year): return current_year - birth_year

Neden?

  • Fonksiyon adı zaten yeterince açıklayıcı olduğu için ekstra bir yoruma gerek yoktur.


Sonuç

Clean Code, sadece çalışır kod yazmak değil, aynı zamanda okunabilir, sürdürülebilir ve genişletilebilir bir yapı oluşturmak anlamına gelir. Eğer uzun vadede kod tabanınızın anlaşılır, güvenilir ve yönetilebilir olmasını istiyorsanız, Clean Code prensiplerine uymanız kritik önem taşır.

???? Özetle:
Anlamlı değişken ve fonksiyon isimleri kullanın.
Fonksiyonları küçük ve tek sorumluluk sahibi olacak şekilde tasarlayın.
Kod tekrarından kaçının (DRY prensibi).
SOLID prensiplerine uyun.
Gereksiz yorum satırlarından kaçının.

Bu prensiplere uyduğunuzda hem siz hem de ekibiniz için daha sağlıklı bir yazılım geliştirme süreci oluşturabilirsiniz.


Top