single

Kod Okunabilirliği ve Temiz Kod

14 Mart 2024
The Impact of 5G Technology

Kod Okunabilirliği ve Temiz Kod

Yazılım geliştirme sürecinde, sadece çalışır durumda bir program yazmak yeterli değildir. Aynı zamanda kodun okunabilir, sürdürülebilir ve başkaları tarafından kolayca anlaşılabilir olması gerekir. Bu, özellikle ekip halinde çalışırken ve kodu uzun vadede bakımını yapacak kişiler olduğunda çok daha önemli hale gelir.

Kod okunabilirliği ve temiz kod yazma, yazılım geliştirme sürecinin önemli bir parçasıdır. Bu yazıda, kodun daha anlaşılır ve sürdürülebilir olmasını sağlayacak bazı temel yaklaşımları keşfedeceğiz.

  1. Anlamlı İsimler Kullanmak
    İyi bir isim, kodu okuyan kişinin ne yaptığını kolayca anlamasına yardımcı olur. Değişkenler, fonksiyonlar, sınıflar ve metodlar için anlamlı isimler seçmek oldukça önemlidir. Örneğin, temp gibi genel bir isim yerine, verinin neyi temsil ettiğini belirten isimler kullanmak daha faydalıdır.

    Kötü: 
    a = 5
    b = 10
    c = a + b 
    
    İyi: 
    salary = 5000
    bonus = 1000
    total_income = salary + bonus

    Fonksiyonların Tek Bir İş Yapması

  2. Her fonksiyon veya metod, yalnızca tek bir sorumluluğa sahip olmalıdır. Bu prensibe Single Responsibility Principle denir. Fonksiyonlar kısa ve öz olmalı, ne yaptığını anlamak kolay olmalıdır.
    Kötü:
     def process_data(data): 
    data = clean_data(data) 
    save_to_database(data) 
    send_email_notification(data) 
    
    İyi: 
    def clean_data(data):
     # Veriyi temizle
     passdef save_to_database(data):
     # Veriyi veritabanına kaydet
     pass def 
    send_email_notification(data): # E-posta gönder pass
    
  3. Yorumlar ve Dokümantasyon
    Kodun ne yaptığını açıklamak için yorumlar kullanmak, özellikle karmaşık işlemler veya algoritmalar için faydalıdır. Ancak, kodun kendisi açık ve anlaşılır olduğunda gereksiz yorumlardan kaçınılmalıdır. Yorumlar kodu açıklamak yerine, kodu anlamakta zorlandığımız yerlerde kullanılmalıdır.Kötü:

    Kötü:
    # Bu fonksiyon, bir kullanıcıyı veritabanından siler.
    # Kullanıcı silindikten sonra, sistemdeki diğer her şeyin düzgün çalıştığından emin olun.
    delete_user(user_id)
    
    
    İyi:
    def delete_user(user_id):
    # Kullanıcıyı veritabanından sil
    pass
    
  4. Kodun Düzenli ve Modüler Olması
    Kodun düzenli olması, kodun kolayca anlaşılabilir ve bakımı yapılabilir olmasını sağlar. İlgili işlevsellikleri modüllere ayırmak, kodun daha yönetilebilir olmasını sağlar. Ayrıca kodu yeniden kullanılabilir hale getirir.
  5. Yinelenen Koddan Kaçınmak
    DRY (Don’t Repeat Yourself) prensibi, yazılımda tekrardan kaçınılması gerektiğini ifade eder. Aynı kodu birden fazla yerde kullanmak, kodun bakımı sırasında sorunlara yol açabilir. Aynı işlevselliği tekrar etmemek için fonksiyonlar ve metodlar kullanarak kodu daha modüler hale getirebilirsiniz.

    Kötü:
    def calculate_area(length, width):
    return length * widthdef calculate_perimeter(length, width):
    return 2 * (length + width)
    
    İyi:
    def calculate_area(length, width):
    return length * widthdef calculate_perimeter(length, width):
    area = calculate_area(length, width)
    return 2 * (length + width)
  6. Kodun Standardize Edilmesi
    Ekip halinde yazılım geliştirirken, kodun bir standarda uygun olması çok önemlidir. Ortak bir kodlama stili (indentation, boşluklar, fonksiyon isimlendirme kuralları vb.) belirlemek, kodun tutarlı olmasını sağlar ve ekip üyelerinin birbirinin kodunu anlamasını kolaylaştırır. Bu nedenle, genellikle ekipler bir kodlama kılavuzu oluşturur.
  7. Hataları Yönetme ve Anlaşılır Hata Mesajları Kodun hata ayıklanması sırasında, hataların anlaşılır bir şekilde rapor edilmesi önemlidir. Hata mesajları, hata oluştuğunda kullanıcıya veya geliştiriciye neler olduğunu ve çözüm için ne yapması gerektiğini açıkça belirtmelidir.
    Kötü:
    raise Exception("Something went wrong")
    
    
    İyi:
    raise ValueError("Invalid user ID provided. Please check the input.")


  8. Test Edilebilirlik
    Temiz kod, aynı zamanda test edilebilir olmalıdır. Fonksiyonlar küçük, bağımsız ve tek bir işlevi yerine getirdiği için kolayca test edilebilir. Kodun her değişikliğinde, testlerin doğru çalışıp çalışmadığını kontrol etmek yazılımın güvenliğini artırır.