Sobes.tech
Junior

Τι είναι οι αρχές DRY και KISS;

sobes.tech AI

Απάντηση από AI

DRY (Μην επαναλαμβάνεσαι) — αρχή που ενθαρρύνει την αποφυγή διπλότυπου κώδικα. Κάθε μέρος πληροφορίας ή λογικής πρέπει να υπάρχει σε ένα μόνο μέρος.

KISS (Keep It Simple, Stupid) — αρχή που εστιάζει στην απλότητα και την καθαρότητα του σχεδιασμού και της λογικής. Ο κώδικας πρέπει να είναι όσο το δυνατόν πιο απλός και εύκολος στη συντήρηση.

  • Πλεονεκτήματα του 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;
}

Η εφαρμογή αυτών των αρχών οδηγεί στη δημιουργία ποιοτικότερου, εύκολα συντηρούμενου και επεκτάσιμου κώδικα.