Mi interessa sapere come tutti mantengono i loro progetti di sviluppo locale organizzati in modo logico. Che cosa fai per mantenere i tuoi progetti di sviluppo organizzati in modo tale da permetterti di trovare facilmente le cose?
Mi interessa sapere come tutti mantengono i loro progetti di sviluppo locale organizzati in modo logico. Che cosa fai per mantenere i tuoi progetti di sviluppo organizzati in modo tale da permetterti di trovare facilmente le cose?
In qualsiasi momento, normalmente ho diversi clienti, ognuno dei quali ha uno o più progetti. Uso anche un modello di sviluppo mainline-with-branching, che funziona bene con molti sistemi di controllo delle versioni come git e Perforce.
Quindi su una qualsiasi delle mie macchine di sviluppo, al di sopra del singolo livello di progetto, le cose sembrano così:
Client 1 Directory
Project Foo Directory
Main Branch Directory
All Branches In One Directory (useful for Perforce branching/merging)
Simple Fixes Branch Directory
Big Ongoing Feature 1 Directory
Big Ongoing Feature 2 Directory
(etc.)
Project Bar Directory
(similar branch directories)
Client 2 Directory
Project Baz Directory
e così via. In genere non tiro tutti i rami su un dato computer, né tiro i progetti Mac su una scatola Windows o Linux.
I singoli rami di solito assomigliano a questo:
Build Instructions Document/Checklist
Top-Level Makefile/Project
Source (Directory)
Main Source Files
Component 1 Source Directory
Component 2 Source Directory
(etc.)
Include (Directory for headers exposed to the outside world, if suitable)
ThirdParty (Libraries, source code, etc. from elsewhere)
Unit Tests
Naturalmente, c'è molta variazione. E se mi occupo di un progetto avviato da qualcun altro, di solito mantengo la loro gerarchia esistente.
In genere mantengo documentazione e file di test allegati a una wiki nel mio sistema di tracciamento dei problemi (Redmine), o se sono più grandi del limite predefinito di 5 milioni di Redmine, su un server FTP, quindi non devo tenere copie locali su tutte le mie macchine di sviluppo, ma posso recuperarle quando ne ho bisogno.
Uso una struttura simile a quella di Bob ma ho anche una radice separata per i documenti con i progetti e le cartelle di amministrazione. Non mi piace mescolare alberi morti e codice nella stessa gerarchia.
[sì, so che sono due posti per eseguire il backup; Trovo la convenienza utile]
Uso la seguente struttura per il mio progetto su Java (tre directory di primo livello):
Project/ - the projects main directory
src/ - source files
doc/ - documentation sources, generated HTML, PDF files
build/makefiles and configurable template files for local paths and versions
ChangeLog - a text file to track changes in the project
README-DEV - describes how to build the project
tests/ - everything concerning unit-testing
kit/ - third party libs, sources
TSTProject/ - test-cases (over 2000 XML files), scripts for automated testing
Project_BRANCHES/ - branches, usually a branch per public release
Leggi altre domande sui tag development-process organization