Un buon modo per documentare il tuo software (prodotto)? [chiuso]

2

Diverso da Il modo più veloce per documentare l'architettura e il design del software . Mi piacerebbe scrivere un manuale per il mio software che include

  1. Utilizzo della riga di comando
  2. Howtos / Tutorial sull'uso del software
  3. Esempio di codice per scrivere plug-in
  4. Manuale su funzioni e classi per il plugin sdk

Vorrei contrassegnare le parole per il collegamento in modo da poter scrivere "vedi anche FuncA, FuncB, ecc." con ciascuna funzione come collegamento. Forse il codice mostra un esempio di larghezza / carattere monospace e rientri come vedresti in molti libri.

Quale software / markup / formato posso utilizzare per generare un manuale? Non sono sicuro del formato del manuale, ma probabilmente sarà html, pdf o entrambi. Bonus se è un formato di testo e funziona bene con il controllo del codice sorgente (sto usando git), ma non importa, probabilmente lo troverò al di fuori del mio controllo del codice sorgente.

    
posta Community 23.04.2011 - 04:47
fonte

4 risposte

2

Una parola: Doxygen. Si adatta a tutte le tue esigenze. È possibile utilizzare l'output per generare HTM semplice o creare un file CHM o output in lattice e molti altri. Collega automaticamente i nomi delle classi nel testo. Per i nomi dei metodi devi solo aggiungere @see o @ref. È molto semplice da imparare e non dovrebbe richiedere più di 2-3 ore per familiarizzare con i tag di base. Ti avvertirà se i parametri sono mancanti o errati. Puoi facilmente aggiungere un file CSS che genererà il look per la documentazione. E puoi farlo con il codice stesso così non ti devi preoccupare di tenere due diversi set di file.

Una caratteristica che ho veramente apprezzato è la capacità di integrare graphviz per generare automaticamente diagrammi di collaborazione UML. Provalo una volta. Meglio di tutto è totalmente gratuito.

    
risposta data 23.04.2011 - 07:04
fonte
0

Un sacco di lingue moderne hanno standard associati per generare documentazione per il loro codice (ad esempio javadoc e pydoc ). Questi ti permettono di usare commenti strutturati nel tuo codice per generare documentazione esterna per il codice. Doxygen è un esempio non specifico di una determinata lingua.

Per quanto riguarda le parti del manuale dell'utente che non sono direttamente legate a un'API, potrebbe essere necessario guardare un po 'oltre. Direi che quegli strumenti potrebbero fornire funzionalità oltre a documentare la struttura del codice. Tuttavia, per un progetto a cui sto lavorando, abbiamo finito con l'utilizzo di JavaHelp per fornire collegamenti sensibili al contesto al nostro manuale utente. JavaHelp finisce per essere solo una directory di file html di base per ogni pagina e alcuni file xml per definire la gerarchia e i collegamenti sensibili al contesto.

    
risposta data 23.04.2011 - 05:35
fonte
0

Un Wiki è il modo migliore per documentare tutte le cose che menzioni. Usiamo MoinMoin, con il suo ricco sistema plug-in è possibile gestire facilmente un corpus di conoscenze dal vivo e consegnare in qualsiasi formato desiderato. Se riesci a ottenere il tuo contenuto in DocBook puoi convertirlo in qualsiasi altro formato di consegna binaria che desideri.

    
risposta data 23.04.2011 - 07:01
fonte
0

Sono un architetto java e utilizzo Omondo EclipseUML per fornire documentazioni.

Come funziona:

È piuttosto facile perché in primo luogo ho invertito il progetto completo utilizzando la funzione di reverse engineering.

Quindi inverto anche gli altri file jar usati dall'applicazione. Significa che mostro dove sono le chiamate agli altri framework. Significa che posso mescolare il file jar Framework con il codice .class con il mio progetto che ha il codice .java. Vedi di più su: link

Ora ho un modello di grandi dimensioni composto dal mio codice e da più framework che sono stati uniti. Ognuno è una piccola parte del modello del mio singolo modello. Tutte le informazioni sul mio modello sono quindi unite insieme, ma sono comunque molto leggibili.

Finalmente creo le viste dei diagrammi delle classi dal mio modello trascinandole e aggiungendo i miei commenti. Ogni diagramma spiega un concetto e una parte specifica dell'architettura. Generalmente creo circa 100 diagrammi per un grande progetto. Penso che gli sviluppatori non abbiano bisogno di più di 3 ore per iniziare a codificare all'interno di un codice esistente e aggiungere il codice necessario nel posto giusto senza rompere l'architettura esistente.

Gli sviluppatori mantengono i miei diagrammi come documentazione visiva e penso che lo confrontino con il documento java. Tutti i miei diagrammi creati una volta sono solo modelli e non più correlati al codice. Significa che una volta che il codice è stato documentato dai diagrammi UML, possiamo decidere di mantenerlo in sincronia o meno. Preferisco separarli e ad ogni iterazione per unire il mio codice ancora una volta.

    
risposta data 23.04.2011 - 12:24
fonte

Leggi altre domande sui tag