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.