Sobes.tech
Junior

Šta su principi DRY i KISS?

sobes.tech АИ

Одговор од АИ

DRY (Ne ponovljavaj sebe) — princip koji podstiče izbegavanje dupliranja koda. Svaki deo informacija ili logike treba da postoji na jednom mestu.

KISS (Keep It Simple, Stupid) — princip koji je usmeren na jednostavnost i jasnoću dizajna i logike. Kod treba biti što jednostavniji i lako održiv.

  • Prednosti DRY:
    • Smanjenje grešaka: Promene u logici treba da se vrše samo na jednom mestu.
    • Ubrzavanje razvoja: Nije potrebno da se piše isti kod više puta.
    • Poboljšanje čitljivosti: Nedostatak dupliranja čini kod strukturiranijim.
  • Prednosti KISS:
    • Lako razumevanje: Jednostavan kod je lakši za čitanje i razumevanje.
    • Lako otklanjanje grešaka: Manje potencijalnih tačaka za greške.
    • Brza podrška: Jednostavan kod je lakši za modifikaciju i proširenje.

Primena ovih principa:

<?php
// Primer bez primene DRY (dupliranje logike za računanje popusta)
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;
}

// Primer sa primenom DRY (izdvajanje logike u posebnu funkciju)
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);
}

// Primer jednostavnog koda (KISS)
function sum(int $a, int $b): int {
    return $a + $b;
}

// Složeniji kod koji se može pojednostaviti
function complexSum(int $a, int $b): int {
    $result = 0;
    $result += $a;
    $result += $b;
    return $result;
}

Primena ovih principa dovodi do kreiranja kvalitetnijeg, lakšeg za održavanje i proširivog koda.