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

ამ პრინციპების გამოყენება ხელს უწყობს უფრო ხარისხიანი, ადვილად შენარჩუნებად და გაფართოებად კოდის შექმნას.