Junior
DRY va KISS tamoyillari nima?
sobes.tech AI
AIdan javob
DRY (O'zingni Takrorlamang) — kodni takrorlashdan qochishga chaqiradigan tamoyil. Har bir ma'lumot yoki mantiqiy qism yagona joyda bo'lishi kerak.
KISS (Soddalashtirishni Saqlang, Ahmoq) — dizayn va mantiqning soddaligi va tushunarli bo'lishiga qaratilgan tamoyil. Kod maksimal darajada oddiy va oson qo'llab-quvvatlanishi kerak.
- DRY ning afzalliklari:
- Xatoliklarni kamaytirish: Mantiqdagi o'zgarishlar faqat bitta joyda amalga oshirilishi kerak.
- Rivojlanishni tezlashtirish: Bir xil kodni bir necha marta yozish shart emas.
- O'qilishi yaxshilash: Takrorlanishlarning yo'qligi kodni yanada tuzilgan qiladi.
- KISS ning afzalliklari:
- Tushunishni osonlashtirish: Oddiy kod o'qish va tushunishni osonlashtiradi.
- Xatolarni aniqlashni osonlashtirish: Kamroq ehtimoliy xato nuqtalari.
- Tezroq qo'llab-quvvatlash: Oddiy kodni o'zgartirish va kengaytirish oson.
Ushbu tamoyillarni qo'llash orqali:
<?php
// DRY ni qo'llamasdan misol (chegirma hisoblash mantiqi takrorlanishi)
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 ni qo'llash misoli (mantiq alohida funktsiyaga chiqarilgan)
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);
}
// Oddiy kod misoli (KISS)
function sum(int $a, int $b): int {
return $a + $b;
}
// Ko'proq murakkab kod, uni soddalashtirish mumkin
function complexSum(int $a, int $b): int {
$result = 0;
$result += $a;
$result += $b;
return $result;
}
Ushbu tamoyillarni qo'llash sifatli, oson qo'llab-quvvatlanadigan va kengaytiriladigan kod yaratishga olib keladi.