Sto per caricare un progetto su Sourceforge sotto GPL e speravo di avere qualche consiglio su come organizzare il codice in modo facile da capire e da usare da parte di qualsiasi sviluppatore che potesse guardalo, che funziona bene con git, e il modo in cui Sourceforge presenta le cose.Sto per aprire un progetto C++ su Sourceforge. Posso avere qualche consiglio sull'organizzazione del codice?
miei progetti è un'applicazione multi-piattaforma C++, e si compone dei seguenti:
- Una parte della libreria, che fa il lavoro effettivo
- Una parte GUI separato, che utilizza la parte libreria
- Librerie open source, i cui percorsi include sono necessari per compilare la libreria
- Librerie open source modificate, che sono state modificate e quindi sono in qualche modo una parte diretta di questo progetto pure
- Output compilato di tutte le librerie
Qual è il modo migliore per organizzare questo?
Mentre si lavora su di esso me stesso, dalla radice progetto che ho in questo modo:
/LibPortion
/GuiPortion
/libs/librerie open source
librerie /libs/modificato open source
/libs/compilato/per contenere le librerie compilate, incluso durante la compilazione per Windows alcuni che non provengono dalle librerie open source, come i file della libreria Cygwin
È un modo ragionevole di organizzare le cose? Corrisponde a convenzioni e aspettative?
Durante il controllo del mio progetto, ha senso controllare le librerie open source e parte del progetto? Immagino che abbia senso farlo, perché riduce al minimo l'attrito con il progetto e il funzionamento di un nuovo sviluppo. Certamente dovrei almeno controllare le librerie open source modificate.
Inoltre, cosa ha senso includere nel repository sotto librerie compilate? Sto pensando che sarebbe meglio dire a git di ignorare quella directory e lasciarla vuota, dal momento che il suo contenuto sarà diverso su ogni target di costruzione, dal momento che il mio progetto è multipiattaforma.
Tuttavia, sembra anche molto bello per le persone che non vogliono complicare la costruzione e/o il download di tutte le librerie stesse per offrire le librerie precompilate per le principali piattaforme. Qual è il modo più intelligente per condividerli? Sto guardando Sourceforge, e non mi è subito chiaro come dovrei condividerli se non come parte del mio repository git.
@nantucket Finché non qualcosa di veramente terribile quello che conta di più è documentare tutto - da come la fonte è strutturato per una come costruire un eseguibile e fare una versione distribuibile. Di solito controllo il codice sorgente delle librerie quando eseguo progetti Windows e faccio affidamento su librerie e pacchetti installati su Linux. Se devo fare entrambe le cose, controllo anche le librerie. Ma la parola chiave è: * documento * tutto. –