PRINCIPLES

DRY (Don't Repeat Yourself)

Evita duplicazioni: il codice dev'essere scritto una volta sola. Ogni concetto deve avere una singola rappresentazione autorevole nel sistema.

Il Problema

Quando la stessa logica è duplicata in più punti, ogni modifica richiede cambiamenti multipli. Questo porta a inconsistenze, bug difficili da tracciare e manutenzione costosa. Il codice duplicato viola il principio di singola fonte di verità.

La Soluzione

Estrarre la logica comune in funzioni, classi o moduli riutilizzabili. Utilizzare astrazione per rappresentare concetti ripetuti. Ogni pezzo di conoscenza deve esistere in un unico posto del sistema.

Struttura

Funzioni helper, classi utility, moduli condivisi. Invece di copiare codice, importare e riutilizzare da una fonte unica.

Partecipanti:
Funzione/Classe riutilizzabile - implementazione unica
Client multipli - riutilizzano la logica condivisa
Esempi di Codice

PROBLEMA: Codice duplicato

La stessa validazione email è ripetuta in 3 posti diversi. Difficile da manutenere.

JAVASCRIPT
Loading...

SOLUZIONE: Logica centralizzata (DRY)

Validazione email in una funzione riutilizzabile. Modifica in un solo posto.

JAVASCRIPT
Loading...
Esempi nel Mondo Reale
Utility functions per validazioni (email, password, numeri)
Formatter centralizzati per date, valute, numeri
Configurazioni condivise invece di hardcoded values
Template/componenti UI riutilizzabili
Quando Usarlo
Quando trovi logica duplicata in 2+ posti
Per validazioni, formatting, calcoli ricorrenti
Costanti e configurazioni usate in più moduli
Quando NON Usarlo
Astrazione prematura (YAGNI - aspetta la terza duplicazione)
Logica simile ma con contesti diversi (falsa duplicazione)