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;
}

Այս սկզբունքների կիրառումը հանգեցնում է ավելի որակյալ, հեշտ սպասարկվող և ընդլայնվող կոդի ստեղծման։