En ce qui concerne la hiérarchie des dossiers source, il y a toujours quelques traits communs, tels que le src, docou les testdossiers qui ont assez facile à comprendre le contenu.
Cependant, je me suis rendu compte que les grands projets avaient à la fois un dossier libet un vendordossier, alors que j'avais toujours pensé qu'ils étaient identiques, car leur nom l'indique, y compris «tiers librariesde l'extérieur vendors». Cependant, voir les deux dans le même projet signifie qu'il y a une différence.
Je n'ai trouvé aucune information ni sur Google ni sur des sources telles que la norme de hiérarchie des systèmes de fichiers , même s'il s'agit en fait d'une pratique courante .
Voici un exemple plus détaillé avec Symfony : une fois que vous créez un projet, vous obtenez un libdossier à la racine de votre projet. Dans ce dossier, la structure suivante est trouvée:
lib
+--filter
+--form
+--…
+--vendor
+--simpletest
+--symfony
Ici, le symfonydossier contient tout le noyau de Symfony.
libcontient les bibliothèques de base (bibliothèques absolument essentielles OU bibliothèques construites à partir du même auteur que le framework) et vendorles bibliothèques tierces, je ne pense pas qu'il y ait une autre distinction sensée. Cette distinction est assez importante pour diverses raisons et elle est logique en tant que pratique générique.
lib/vendorautres répertoiresvendor. Et ils ne sont pas les seuls . “Tout le monde peut choisir n'importe quelle structure de répertoire ” Ouais, merci. Tout le monde peut coder comme il veut. Si je veux appelersrc«woudzigouga», je le peux. Je ne demande pas si je peux le faire mais pourquoi d'autres personnes sérieuses et connues font quelque chose qui ressemble à une bonne pratique.