Sobes.tech
Junior

Czym są zasady DRY i KISS?

sobes.tech AI

Odpowiedź od AI

DRY (Nie powtarzaj się) — zasada zachęcająca do unikania duplikacji kodu. Każda część informacji lub logiki powinna istnieć w jednym, unikalnym miejscu.

KISS (Keep It Simple, Stupid) — zasada skierowana na prostotę i czytelność projektu i logiki. Kod powinien być maksymalnie prosty i łatwy w utrzymaniu.

  • Zalety DRY:
    • Redukcja błędów: Zmiany w logice należy wprowadzać tylko w jednym miejscu.
    • Przyspieszenie rozwoju: Nie trzeba pisać tego samego kodu wielokrotnie.
    • Poprawa czytelności: Brak duplikacji sprawia, że kod jest bardziej uporządkowany.
  • Zalety KISS:
    • Łatwość zrozumienia: Prosty kod jest łatwiejszy do czytania i rozumienia.
    • Ułatwienie debugowania: Mniej punktów potencjalnych błędów.
    • Szybkie wsparcie: Prosty kod jest łatwiejszy do modyfikacji i rozbudowy.

Stosując te zasady:

<?php
// Przykład bez stosowania DRY (duplikacja logiki obliczania rabatu)
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;
}

// Przykład z zastosowaniem DRY (wydzielenie logiki do osobnej funkcji)
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);
}

// Przykład prostego kodu (KISS)
function sum(int $a, int $b): int {
    return $a + $b;
}

// Przykład bardziej skomplikowanego kodu, który można uprościć
function complexSum(int $a, int $b): int {
    $result = 0;
    $result += $a;
    $result += $b;
    return $result;
}

Stosowanie tych zasad prowadzi do tworzenia kodu wyższej jakości, łatwego w utrzymaniu i rozbudowie.