Sobes.tech
Junior

Co jsou principy DRY a KISS?

sobes.tech AI

Odpověď od AI

DRY (Ne opakuj se) — princip, který povzbuzuje k vyhýbání se duplicitě kódu. Každá část informace nebo logiky by měla existovat na jednom místě.

KISS (Udržuj to jednoduché, hlupáku) — princip zaměřený na jednoduchost a srozumitelnost návrhu a logiky. Kód by měl být co nejjednodušší a snadno udržovatelný.

  • Výhody DRY:
    • Snížení chyb: Změny v logice je třeba provádět pouze na jednom místě.
    • Zrychlení vývoje: Není třeba psát stejný kód několikrát.
    • Zlepšení čitelnosti: Absence duplicit činí kód strukturovanějším.
  • Výhody KISS:
    • Snadné pochopení: Jednoduchý kód je snazší číst a pochopit.
    • Snadnější ladění: Méně potenciálních chybových bodů.
    • Rychlá údržba: Jednoduchý kód je snazší upravovat a rozšiřovat.

Použitím těchto principů:

<?php
// Příklad bez použití DRY (duplicitní logika výpočtu slevy)
function calculatePriceWithDiscountA(float $price): float {
    if ($price > 1000) {
        return $price * 0.9;
    }
    return $price;
}

function calculatePriceWithDiscountB(float $price): float {
    if ($price > 1000) {
        return $price * 0.9;
    }
    return $price;
}

// Příklad s použitím DRY (vyčlenění logiky do samostatné funkce)
function applyDiscount(float $price): float {
    if ($price > 1000) {
        return $price * 0.9;
    }
    return $price;
}

function calculateFinalPriceA(float $price): float {
    return applyDiscount($price);
}

function calculateFinalPriceB(float $price): float {
    return applyDiscount($price);
}

// Příklad jednoduchého kódu (KISS)
function sum(int $a, int $b): int {
    return $a + $b;
}

// Složitější kód, který lze zjednodušit
function complexSum(int $a, int $b): int {
    $result = 0;
    $result += $a;
    $result += $b;
    return $result;
}

Použití těchto principů vede ke vzniku kvalitnějšího, snadno udržovatelného a rozšiřitelného kódu.