Sobes.tech
Junior

Co je princip DRY a jaké aspekty zahrnuje?

sobes.tech AI

Odpověď od AI

Princip DRY (Don't Repeat Yourself) znamená, že se neopakujte. Je to základní princip vývoje softwaru, jehož cílem je snížit redundanci kódu a dat. Dodržování tohoto principu zlepšuje udržovatelnost, čitelnost a snižuje pravděpodobnost chyb.

Aspekty principu DRY:

  • Vyvarování se duplicitního kódu: Opakující se bloky kódu jsou přesunuty do funkcí, tříd, modulů.
    # Špatně:
    def process_user_data(user):
        print(f"Zpracování dat uživatele: {user['name']}")
        # Mnoho kroků zpracování
        print("Zpracování dokončeno.")
    
    def process_order_data(order):
        print(f"Zpracování dat objednávky: {order['id']}")
        # Mnoho kroků zpracování (podobné jako u uživatelských dat)
        print("Zpracování dokončeno.")
    
    # Dobře:
    def process_data(item_type, item_id):
        print(f"Zpracování dat pro {item_type}: {item_id}")
        # Sdílené kroky zpracování
        print("Zpracování dokončeno.")
    
    process_data("user", user['name'])
    process_data("order", order['id'])
    
  • Vyvarování se duplicitních dat: Stejné informace jsou uloženy na jednom místě (například konfigurační parametry, konstanty).
    // Špatně:
    {
      "api_url_users": "https://api.example.com/users",
      "api_url_orders": "https://api.example.com/orders"
    }
    
    // Dobře:
    {
      "base_api_url": "https://api.example.com",
      "endpoints": {
        "users": "/users",
        "orders": "/orders"
      }
    }
    
  • Vyvarování se duplicitní obchodní logiky: Pravidla a algoritmy jsou implementovány pouze jednou.
    // Špatně:
    // Validace na více místech
    if (orderAmount < 0) {
        throw new InvalidOrderException("Částka nesmí být záporná.");
    }
    // Podobná kontrola v jiné službě
    
    // Dobře:
    // Centralizovaná validační logika
    public void validateOrderAmount(double amount) {
        if (amount < 0) {
            throw new InvalidOrderException("Částka nesmí být záporná.");
        }
    }
    
  • Vyvarování se duplicitní konfigurace: Nastavení aplikace jsou přesunuta do konfiguračních souborů nebo centralizovaných úložišť.
  • Vyvarování se duplicitní dokumentace: Informace jsou strukturovány a odkazují na jeden zdroj.

Dodržování DRY vede k modulárnějším, snadno čitelným a škálovatelným systémům, což je klíčové pro QA, protože to usnadňuje testování a lokalizaci chyb.