Per quanto riguarda la gerarchia di cartelle di origine, ci sono sempre alcune caratteristiche comuni, come la src
, doc
o le test
cartelle, che sono piuttosto facile da capire il contenuto.
Tuttavia, mi sono reso conto che i grandi progetti hanno sia a lib
che vendor
cartelle, mentre avevo sempre pensato che fossero gli stessi, poiché i loro nomi suggeriscono di includere "terze parti libraries
da esterni vendors
". Anche se, vedendo sia nello stesso progetto significa che v'è una differenza.
Non sono riuscito a trovare alcuna informazione né su Google né su fonti come il Filesystem Hierarchy Standard , anche se questa è in realtà una pratica in qualche modo comune .
Ecco un esempio più dettagliato con Symfony : una volta creato un progetto, ottieni una lib
cartella alla radice del tuo progetto. In questa cartella si trova la seguente struttura:
lib
+--filter
+--form
+--…
+--vendor
+--simpletest
+--symfony
Qui, la symfony
cartella contiene tutto il core di Symfony.
lib
contiene librerie di base (librerie assolutamente indispensabili o librerie costruite dallo stesso autore del framework) e vendor
con librerie di terze parti, non credo che ci sia un'altra distinzione sana. Tale distinzione è in qualche modo importante per una serie di ragioni e ha senso come pratica generica.
lib/vendor
altre directoryvendor
. E non sono i soli . "Tutti possono selezionare qualsiasi struttura dir" Sì, grazie. Tutti possono codificare come vogliono. Se voglio chiamaresrc
"woudzigouga", posso. Non sto chiedendo se posso ma perché gli altri seri e famosi fanno qualcosa che sembra una buona pratica.