Sobes.tech
Junior

DRY prensibi nedir ve hangi yönleri içerir?

sobes.tech yapay zeka

AI'dan gelen yanıt

DRY (Don't Repeat Yourself) prensibi, kendini tekrar etmeyin anlamına gelir. Bu, kod ve verilerin gereksiz tekrarını azaltmaya yönelik temel bir yazılım geliştirme prensibidir. Bu prensibe uyum, bakımını kolaylaştırır, okunabilirliği artırır ve hata olasılığını azaltır.

DRY prensibinin yönleri:

  • Kod tekrarını önleme: Tekrarlanan kod blokları fonksiyonlara, sınıflara, modüllere taşınır.
    # Kötü:
    def process_user_data(user):
        print(f"Kullanıcı verisi işleniyor: {user['name']}")
        # Çok sayıda işlem adımı
        print("Veri işleme tamamlandı.")
    
    def process_order_data(order):
        print(f"Sipariş verisi işleniyor: {order['id']}")
        # Benzer işlem adımları
        print("Veri işleme tamamlandı.")
    
    # İyi:
    def process_data(item_type, item_id):
        print(f"{item_type} için veri işleniyor: {item_id}")
        # Paylaşılan işlem adımları
        print("Veri işleme tamamlandı.")
    
    process_data("user", user['name'])
    process_data("order", order['id'])
    
  • Veri tekrarını önleme: Aynı bilgi tek bir yerde saklanır (örneğin, yapılandırma parametreleri, sabitler).
    // Kötü:
    {
      "api_url_users": "https://api.example.com/users",
      "api_url_orders": "https://api.example.com/orders"
    }
    
    // İyi:
    {
      "base_api_url": "https://api.example.com",
      "endpoints": {
        "users": "/users",
        "orders": "/orders"
      }
    }
    
  • İş mantığı tekrarını önleme: Kurallar ve algoritmalar sadece bir kez uygulanır.
    // Kötü:
    // Çok yerde doğrulama
    if (orderAmount < 0) {
        throw new InvalidOrderException("Tutar negatif olamaz.");
    }
    // Benzer kontrol başka bir serviste
    
    // İyi:
    // Merkezi doğrulama mantığı
    public void validateOrderAmount(double amount) {
        if (amount < 0) {
            throw new InvalidOrderException("Tutar negatif olamaz.");
        }
    }
    
  • Yapılandırma tekrarını önleme: Uygulama ayarları yapılandırma dosyalarına veya merkezi depolara taşınır.
  • Dökümantasyonda tekrar önleme: Bilgi yapılandırılır ve tek bir kaynağa referans verilir.

DRY prensibine uyum, daha modüler, okunması kolay ve ölçeklenebilir sistemler sağlar, bu da QA için kritiktir çünkü testleri ve hataların tespiti kolaylaşır.