Sobes.tech
Junior

DRY жана KISS принциптери эмнелер?

sobes.tech AI

AIден жооп

DRY (Өзүңдү кайталаба) — кодду кайталабоого үндөгөн принцип. Ар бир маалымат же логика бир гана жерде болушу керек.

KISS (Жөнөкөй сакта, идиот) — дизайн жана логика жөнөкөйлүгү жана түшүнүктүүлүгү үчүн багытталган принцип. Код эң жөнөкөй жана оңой колдоого алынуучу болушу керек.

  • DRYнин артыкчылыктары:
    • Ката кетирүүнүн азайышы: Логикадагы өзгөртүүлөр бир гана жерге жасалышы керек.
    • Өнүктүрүүнүн ылдамдашы: Бирдей кодду бир нече жолу жазуу керек эмес.
    • Окуулушту жакшыртуу: кайталанбоо кодду структуралаштырат.
  • KISSнин артыкчылыктары:
    • Түшүнүктүүлүк: Жөнөкөй код окуу жана түшүнүү оңой.
    • Түзөтүү ыңгайлуулугу: Ката кетирүүчү чекиттер азаяды.
    • Жылдам колдоо: Жөнөкөй код оңой өзгөртүлүп жана кеңейтилет.

Бул принциптерди колдонуу менен:

<?php
// DRY колдонбостон мисал (логиканы кайталоо)
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 колдонуу мисалы (логиканы бөлүү)
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);
}

// Жөнөкөй код мисалы (KISS)
function sum(int $a, int $b): int {
    return $a + $b;
}

// Көбүрөөк татаал код, аны жөнөкөйлөтүү мүмкүн
function complexSum(int $a, int $b): int {
    $result = 0;
    $result += $a;
    $result += $b;
    return $result;
}

Бул принциптерди колдонуу аркылуу сапаттуу, оңой колдоого алынуучу жана кеңейтүүчү код түзүлөт.