Sobes.tech
Junior

Kas ir DRY un KISS principi?

sobes.tech AI

Atbilde no AI

DRY (Nepārkrāj sevi) — princips, kas aicina izvairīties no koda dublēšanas. Katra informācijas vai loģikas daļa jāeksistē tikai vienā vietā.

KISS (Saglabā to vienkāršu, stulbi) — princips, kas vērsts uz dizaina un loģikas vienkāršību un saprotamību. Kods jābūt maksimāli vienkāršam un viegli uzturāmam.

  • DRY priekšrocības:
    • Kļūdu samazināšana: izmaiņas jāveic tikai vienā vietā.
    • Izstrādes paātrināšana: nav nepieciešams rakstīt to pašu kodu vairākas reizes.
    • Lasāmības uzlabošana: dublējumu neesamība padara kodu strukturētāku.
  • KISS priekšrocības:
    • Saprotamība: vienkāršs kods ir vieglāk lasāms un saprotams.
    • Datu pārbaudes ērtība: samazinās potenciālo kļūdu punkti.
    • Ātra atbalsta nodrošināšana: vienkāršs kods ir vieglāk maināms un paplašināms.

Šo principu piemērošanā:

<?php
// Piemērs bez DRY (loģikas dublēšana)
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;
}

// Piemērs ar DRY (loģikas izdalīšana)
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);
}

// Vienkāršs koda piemērs (KISS)
function sum(int $a, int $b): int {
    return $a + $b;
}

// Sarežģītāks kods, kuru var vienkāršot
function complexSum(int $a, int $b): int {
    $result = 0;
    $result += $a;
    $result += $b;
    return $result;
}

Šo principu piemērošana veicina kvalitatīvāka, vieglāk uzturama un paplašināma koda izstrādi.