Sobes.tech
Junior

Mi a DRY és KISS elvek?

sobes.tech MI

Válasz az MI-től

DRY (Ne ismételd meg magad) — elv, amely arra ösztönöz, hogy kerüljük a kód ismétlését. Minden információ vagy logika része egy helyen kell, hogy létezzen.

KISS (Tartsd egyszerűen, hülye) — elv, amely a tervezés és a logika egyszerűségére és érthetőségére összpontosít. A kódnak a lehető legegyszerűbbnek és könnyen karbantarthatónak kell lennie.

  • A DRY előnyei:
    • Hibák csökkentése: A logikában végzett változtatásokat csak egy helyen kell elvégezni.
    • Fejlesztés gyorsítása: Nem kell ugyanazt a kódot többször írni.
    • Olvashatóság javítása: A duplikációk hiánya strukturáltabbá teszi a kódot.
  • A KISS előnyei:
    • Könnyű megértés: Az egyszerű kód könnyebben olvasható és érthető.
    • Hibakeresés könnyítése: Kevesebb potenciális hibahely.
    • Gyors támogatás: Az egyszerű kód könnyebben módosítható és bővíthető.

Ezeknek az elveknek a alkalmazásával:

<?php
// Példa DRY alkalmazása nélkül (logika duplikálása a kedvezmény számításában)
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;
}

// DRY alkalmazás példája (logika külön függvénybe helyezése)
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);
}

// Egyszerű kód példa (KISS)
function sum(int $a, int $b): int {
    return $a + $b;
}

// Bonyolultabb kód, amit egyszerűsíteni lehet
function complexSum(int $a, int $b): int {
    $result = 0;
    $result += $a;
    $result += $b;
    return $result;
}

Ezeknek az elveknek a alkalmazásával magasabb minőségű, könnyen karbantartható és bővíthető kód készíthető.