Sobes.tech
Junior

Quelles sont les principes DRY et KISS?

sobes.tech IA

Réponse de l'IA

DRY (Ne vous répétez pas) — principe qui encourage à éviter la duplication de code. Chaque partie d'information ou de logique doit exister à un seul endroit.

KISS (Garde-le simple, idiot) — principe visant la simplicité et la clarté du design et de la logique. Le code doit être aussi simple et facile à maintenir que possible.

  • Avantages de DRY :
    • Réduction des erreurs : Les changements dans la logique ne doivent être effectués qu'à un seul endroit.
    • Accélération du développement : Il n'est pas nécessaire d'écrire le même code plusieurs fois.
    • Amélioration de la lisibilité : L'absence de duplication rend le code plus structuré.
  • Avantages de KISS :
    • Facilité de compréhension : Un code simple est plus facile à lire et à comprendre.
    • Facilité de débogage : Moins de points potentiels d'erreur.
    • Support rapide : Un code simple est plus facile à modifier et à étendre.

En appliquant ces principes :

<?php
// Exemple sans appliquer DRY (duplication de la logique de calcul de remise)
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;
}

// Exemple avec application de DRY (extraction de la logique dans une fonction séparée)
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);
}

// Exemple de code simple (KISS)
function sum(int $a, int $b): int {
    return $a + $b;
}

// Exemple de code plus complexe pouvant être simplifié
function complexSum(int $a, int $b): int {
    $result = 0;
    $result += $a;
    $result += $b;
    return $result;
}

L'application de ces principes conduit à la création d'un code de meilleure qualité, facile à maintenir et à étendre.