Domanda

Ho bisogno di uno strumento di documentazione del codice simile a javadoc o c # xml doc per delphi code. Qual è lo strumento migliore? Preferisco una tecnologia, che in futuro sarà compatibile con il progetto sandcastle di Microsoft.

È stato utile?

Soluzione

Dai un'occhiata a SynProject , uno strumento Open Source scritto in Delphi.

È stato progettato per gestire un flusso di lavoro di documentazione completo, dalle specifiche alle note di rilascio, inclusi test, architettura e design; e ovviamente c'è un parser Delphi integrato per generare documentazione sull'architettura dal codice sorgente Delphi esistente.

Per il documento di architettura, il codice sorgente può estrarre commenti (ala PasDoc), quindi incorporare questo testo nel documento di architettura principale (con diagrammi di gerarchia di classi e dipendenze di unità).

Scrivi un semplice file di testo usando una sintassi simile a wiki in un editor di testo dedicato, quindi SynProject crea da esso documenti Word ben formati. Alcuni Wizard sono disponibili per accedere al contenuto. Ma poiché è memorizzato come file semplice, più programmatori possono scrivere su di esso, utilizzando qualsiasi strumento SCM (SVN, Fossil ...).

Ad esempio, attualmente lo uso per scrivere documentazione di manutenzione per un'applicazione Delphi vecchia e di grandi dimensioni (circa 2.000.000 di righe di codice scritte in Delphi 5 e 6), senza alcuna precedente documentazione disponibile. Descrivi le modifiche apportate al codice (citando l'unità / classe / metodo), quindi lo strumento aggiornerà tutte le documentazioni per riflettere e tracciare tali modifiche. SynProject è stato progettato per essere conforme ad alcuni & Quot; delicati & Quot; regole di regolamentazione (IEC 62304), ma possono essere utilizzate per qualsiasi progetto grazie al suo unico " flat " design.

Nota : sto pubblicando questo messaggio molto tempo dopo la domanda, perché al momento SynProject non esisteva e può valere la pena di guardarlo. Questa discussione è stata definita come riferimento per tale domanda .

Altri suggerimenti

Delphi + JavaDoc = DelphiCodeToDoc

Per quanto ne so, non esiste uno strumento facilmente compatibile con Microsoft Sandcastle, almeno fino a quando qualcuno effettivamente si preoccupa di scriverne uno, modificarne uno esistente o creare una toolchain per trasformare correttamente l'output.

Ho usato personalmente PasDoc con grande successo. Consiglio di creare l'ultima versione di SVN, dato che la versione corrente occasionalmente grida su definizioni di interfaccia complicate.

Prova: - Doxygen documentazione - Pas2Dox

Dal Delphi 2005 è compilato nel compilatore Delphi. Utilizza lo standard XMLDoc che utilizza commenti in stile XML. Proprio come fa C #, quindi immagino che Sandcastle possa gestirlo. Vedi http://dn.codegear.com/article/32770 e http://tondrej.blogspot.com/2006/03/xml-documentation -in-Delphi-2006.html

Vedi anche Documenting Delphi

Sandcastle deve avere accesso agli assembly per generare la sua documentazione, il che significa che è applicabile solo per i linguaggi .net (anche se non sono sicuro che Delphi.Net). Tuttavia, Delphi 2007 e 2009 ha una documentazione XML in linea molto simile a C #. Quando si attiva l'opzione "Genera documentazione XML" nelle opzioni del progetto, verrà creata la documentazione XML basata su questi commenti. XSLT può quindi essere utilizzato per generare qualunque formato di documentazione sia necessario (questo è il bit difficile).

DelphiCodeToDoc hanno anche una riga di comando per usarlo con lo strumento di integrazione continua (ad esempio).

La domanda è piuttosto vecchia, ma oggi ho avuto lo stesso problema e ho trovato questo post. Delphi 2007 consente la seguente sintassi, che sembra essere uguale alla documentazione C #:

/// <summary>
/// Summary of the function / class
/// </summary>
/// <param name="param1">Description of the parameter param1</param>
/// <param name="param2">Description of the parameter param2</param>
/// <param name="param3">Description of the parameter param3</param>
/// <returns>Description of the return value</returns>
function test(param1, param2, param3: string): string;

Per <summary>, non sembra esserci la possibilità di consentire interruzioni di riga. <br /> non funziona.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top