Sobes.tech
Junior

Ce sunt principiile DRY și KISS?

sobes.tech AI

Răspuns de la AI

DRY (Don't Repeat Yourself) — princip, care încurajează evitarea duplicării codului. Fiecare parte de informație sau logică trebuie să existe într-un singur loc.

KISS (Keep It Simple, Stupid) — principiu orientat spre simplitate și claritate în design și logică. Codul trebuie să fie cât mai simplu și ușor de întreținut.

  • Avantajele DRY:
    • Reducerea erorilor: Modificările în logică trebuie făcute doar într-un singur loc.
    • Accelerarea dezvoltării: Nu este nevoie să scrii același cod de mai multe ori.
    • Îmbunătățirea lizibilității: Absența duplicării face ca codul să fie mai structurat.
  • Avantajele KISS:
    • Ușurința în înțelegere: Codul simplu este mai ușor de citit și înțeles.
    • Ușurința în depanare: Mai puține puncte potențiale de eroare.
    • Suport rapid: Codul simplu este mai ușor de modificat și extins.

Aplicând aceste principii:

<?php
// Exemplu fără aplicarea DRY (duplicarea logicii de calcul a reducerii)
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;
}

// Exemplu cu aplicarea DRY (extragerea logicii într-o funcție separată)
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);
}

// Exemplu de cod simplu (KISS)
function sum(int $a, int $b): int {
    return $a + $b;
}

// Exemplu de cod mai complex, care poate fi simplificat
function complexSum(int $a, int $b): int {
    $result = 0;
    $result += $a;
    $result += $b;
    return $result;
}

Aplicarea acestor principii duce la crearea unui cod de calitate superioară, ușor de întreținut și extins.