Struttura della directory di sviluppo [chiusa]
-
09-06-2019 - |
Domanda
Mi chiedo quale struttura di directory sia comunemente utilizzata nei progetti di sviluppo.Intendo con l'idea di facilitare la compilazione, la distribuzione del rilascio e così via.
Recentemente ho usato a Struttura esperta per un progetto Java, ma non sono sicuro che sia la struttura migliore per un progetto guidato da non esperti.
Quindi, ho due domande:Quando iniziate nuovi progetti, quale struttura usate?E:Cosa succede se hai bisogno di integrare due linguaggi diversi, come ad esempio le classi Java in un'applicazione PHP;I file PHP sono file sorgente, file web, usi /src, /classes, webapps/php ?Quali sono le tue scelte in tali scenari?
Come nota:Mi chiedo anche quali sono le tue scelte per i nomi delle directory.Mi piacciono i nomi di 3 lettere (src, lib, bin, web, img, css, xml, cfg) ma quali sono le tue opinioni sui nomi descrittivi come libraris, source o htdocs/public_html ?
Soluzione
Dopo un paio d'anni di lavoro con diverse strutture, recentemente ho trovato una struttura che contiene la maggior parte delle varianti per me:
/project_name (everything goes here)
/web (htdocs)
/img
/css
/app (usually some framework or sensitive code)
/lib (externa libs)
/vendor_1
/vendor_2
/tmp
/cache
/sql (sql scripts usually with maybe diagrams)
/scripts
/doc (usually an empty directory)
Altri suggerimenti
Sebbene non utilizziamo Maven, utilizziamo la struttura di directory Maven.
Abbiamo scoperto che riflette accuratamente i concetti di cui abbiamo bisogno (ad es.separazione del codice di distribuzione dal codice di test, codice dai dati, programmi di installazione dal codice).Inoltre lo immaginiamo Se un giorno fossimo passati a Maven, la maggior parte del nostro processo sarebbe rimasta la stessa.
Ho appena trovato un documento interessante sulle strutture delle directory sul sito Zend:
http://framework.zend.com/wiki/display/ZFDEV/Choosing+Your+Application%27s+Directory+Layout
Un aggiornamento del 2011:http://java.sun.com/blueprints/code/projectconventions.html