Leçon 13 : Architecture et Harmonie
À mesure que les projets grandissent, l'excellence locale (bons noms de variables, petites fonctions) ne suffit plus. Vous avez besoin d'un Vibe au niveau du système — l'harmonie architecturale qui dicte où vivent les fichiers et comment les modules interagissent.
Séparation des préoccupations (SoC)
Les fichiers et les répertoires doivent être organisés de manière à ce que les fonctionnalités liées soient regroupées, et que les préoccupations indépendantes soient maintenues séparées.
Structure de répertoire type « Vibe-Friendly »
Au lieu de tout mettre dans un seul dossier src, séparez par rôle technique :
controllers/: Gère les requêtes entrantes (couche HTTP).services/: Contient la logique métier principale (le « pourquoi » de l'application).repositories/oudata/: Gère l'accès aux données (interaction avec la base de données).utils/: Fonctions d'aide génériques et réutilisables.
Cette structure offre à un nouveau développeur une carte immédiate du système : il sait exactement où chercher pour modifier la couche de données par rapport au changement d'une route web.
Découplage et dépendances
Un code à « haut vibe » est lâchement couplé. Les modules doivent s'appuyer sur des abstractions (interfaces) plutôt que sur des implémentations concrètes. Cela évite les « effets d'entraînement » lorsqu'un module change.
Inversion de contrôle (IoC)
Permettre aux modules de haut niveau de définir le comportement des modules de bas niveau (souvent via l'Injection de Dépendances) donne un code hautement testable et flexible, offrant le meilleur vibe architectural à long terme.