Sobes.tech
Junior

Wat zijn de principes DRY en KISS?

sobes.tech AI

Antwoord van AI

DRY (Don't Repeat Yourself) — principe dat oproept om herhaling van code te vermijden. Elk stuk informatie of logica moet op één plek bestaan.

KISS (Keep It Simple, Stupid) — principe gericht op eenvoud en duidelijkheid in ontwerp en logica. De code moet zo eenvoudig en onderhoudsvriendelijk mogelijk zijn.

  • Voordelen van DRY:
    • Foutvermindering: Wijzigingen in logica hoeven maar op één plek te worden doorgevoerd.
    • Versnelling van ontwikkeling: Het is niet nodig om dezelfde code meerdere keren te schrijven.
    • Verbetering van leesbaarheid: Het ontbreken van duplicatie maakt de code meer gestructureerd.
  • Voordelen van KISS:
    • Gemakkelijk te begrijpen: Eenvoudige code is makkelijker te lezen en te begrijpen.
    • Gemakkelijk te debuggen: Minder punten waar fouten kunnen ontstaan.
    • Snelle ondersteuning: Eenvoudige code is makkelijker te wijzigen en uit te breiden.

Door deze principes toe te passen:

<?php
// Voorbeeld zonder DRY toe te passen (duplicatie van kortingslogica)
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;
}

// Voorbeeld met DRY toepassing (logica in een aparte functie)
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);
}

// Eenvoudige code voorbeeld (KISS)
function sum(int $a, int $b): int {
    return $a + $b;
}

// Complexere code die vereenvoudigd kan worden
function complexSum(int $a, int $b): int {
    $result = 0;
    $result += $a;
    $result += $b;
    return $result;
}

Het toepassen van deze principes leidt tot het creëren van kwalitatief betere, onderhoudsvriendelijke en uitbreidbare code.