La duplicazione del codice costa meno di un'astrazione errata

Gli sviluppatori amano il principio DRY.

Vuoi evitare di ripeterti. Vuoi un codice elegante e riutilizzabile.

Ma questo obiettivo spesso porta in una trappola: l'astrazione prematura.

Ripetere il codice sembra sbagliato. Tuttavia, la duplicazione è spesso più economica di una cattiva astrazione.

Cerchiamo di costruire sistemi modulari perfetti. Cerchiamo pattern ed estraiamo la logica per gestire la complessità.

Le astrazioni ben progettate aiutano il software a scalare.

Ma molte astrazioni vengono create troppo presto. Se non comprendi appieno il problema, la tua astrazione diventa un peso.

Un'astrazione errata causa diversi problemi:

  • Over-engineering: Costruisci soluzioni complesse per problemi semplici.
  • Rigidità: Il tuo codice diventa difficile da modificare perché cerca di prevedere un futuro che non si avvererà mai.
  • Intento oscurato: La logica di business si nasconde sotto strati di interfacce generiche. Questo rende difficile il debugging.
  • Accoppiamento forte: Parti del tuo sistema rimangono vincolate all'astrazione stessa.

Il costo è elevato. Passi il tempo a combattere contro la tua stessa architettura invece di risolvere i problemi degli utenti. Questo rallenta il team e rende difficile il refactoring.

Non ti sto dicendo di copiare e incollare tutto. Ti sto suggerendo un approccio pragmatico.

Usa la duplicazione controllata come uno strumento. Usala in aree in cui i requisiti cambiano rapidamente o dove affronti incertezza.

Aspetta di vedere chiaramente il pattern prima di costruire l'astrazione.

Fonte: https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-code-duplication-is-far-cheaper-than-the-wrong-abstraction-2cbo