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;
}
Ушбу принципларни қўллаш юқори сифатли, осонда қолдирилган ва кенгайтириладиган код яратишга олиб келади.