Sobes.tech
Junior

Mis on DRY ja KISS põhimõtted?

sobes.tech AI

Vastus AI-lt

DRY (Ära korda ennast) — põhimõte, mis kutsub vältima koodi dubleerimist. Iga info või loogika osa peaks eksisteerima ainult ühes kohas.

KISS (Hoia see lihtne, loll) — põhimõte, mis keskendub disaini ja loogika lihtsusele ning arusaadavusele. Kood peaks olema võimalikult lihtne ja hõlpsasti hooldatav.

  • DRY eelised:
    • Vead vähenevad: muudatused tuleb teha ainult ühes kohas.
    • Arendus kiireneb: ei ole vaja kirjutada sama koodi mitu korda.
    • Loetavus paraneb: dubleeringu puudumine muudab koodi struktureeritumaks.
  • KISS eelised:
    • Arusaadavus: lihtne kood on kergem lugeda ja mõista.
    • Hoolduse mugavus: potentsiaalsed vead on vähem.
    • Kiire tugi: lihtne kood on kergem muuta ja laiendada.

Nende põhimõtete rakendamisel:

<?php
// Näide ilma DRY-ta (loogika dubleerimine)
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;
}

// Näide DRY-ga (loogika eraldamine)
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);
}

// Lihtne koodinäide (KISS)
function sum(int $a, int $b): int {
    return $a + $b;
}

// Keerulisem kood, mida saab lihtsustada
function complexSum(int $a, int $b): int {
    $result = 0;
    $result += $a;
    $result += $b;
    return $result;
}

Nende põhimõtete rakendamine aitab luua kvaliteetsemat, lihtsamini hooldatavat ja laiendatavat koodi.