Docblock mais comum para Delphi e/ou código Freepascal
-
09-09-2019 - |
Pergunta
Estou bastante familiarizado com os dockblocks do PHP, já que tem sido o meu trabalho nos últimos 15 anos.
/**
* Description
*
* @tag bla bla
* @tag more bla bla
*/
O que estou tentando entender é se existe um padrão como esse para Delphi e/ou FreePascal.
Pela minha análise, sobre um monte de código que eu nunca vi, mas poderia estar errado.
Solução
Ferramentas de documentação Delphi
Usando a ferramenta XMLDOC para documentação da API e HelpInsight com Delphi 2005http://edn.embarcadero.com/article/32770
Documentação XML em Delphi 2006http://tondrej.blogspot.com/2006/03/xml-documentation-in-delphi-2006.html
Delphicodetodochttp://dephicodetodoc.sourceforge.net/
Doc-o-Matichttp://www.doc-o-matic.com/examplesourcecode.html
Pasdochttp://pasdoc.sipsolutions.net/
Navegador Pascalhttp://www.peganza.com/
Doxygenhttp://www.doxygen.nl/
Pas2doxhttp://sourceforge.net/projects/pas2dox/
Jadd - apenas mais um Delphidochttp://delphidoc.sourceforge.net/
Discussão do Stackoverflow
Existe um documentador de código Delphi que suporta a sintaxe Delphi atual?https://stackoverflow.com/questions/673248/is-there-delphi-code-documentor-that-supports-current-delphi-syntax
Documentação de código para Delphi semelhante ao Javadoc ou C# XML DocDocumentação de código para Delphi semelhante ao Javadoc ou C# XML Doc
Documentando Delphihttps://stackoverflow.com/questions/33336/documenting-delphi
Outras dicas
Última Delphis Suporte Parsing da documentação XML. Eles também usam essas informações em dicas (por exemplo, se você mover o cursor do mouse sobre um nome de método).
Estou usando este modelo para documentação do método:
///<summary></summary>
///<param name=''></param>
///<returns></returns>
///<exception cref=""></exception>
///<since>2009-04-15</since>
Eu prefiro documentos fora da fonte (sempre fica confuso) e uso o excelente FPDOC que vem com o FPC. (Os próprios documentos da FPC estão escritos nele).
Em um projeto em que estou trabalhando atualmente, estamos usando Delphicodetodoc, que funciona razoavelmente bem. Sua sintaxe se parece com a seguinte:
type
{* This is an example class }
TMyClass = class
private
protected
public
{* Does some twiddling with AParam, and returns the result as String
@param AParam Input value
@return AParam incremented by 2, as String
@throws Exception 'Boo' if it's full moon }
function MyFunction(AParam: Integer): String;
end;
Parece que doxygen tem uma ferramenta que pode ser usado em conjunto com documentar o código Pascal e Delphi. Talvez isso o ajude.
Existem vários padrões, geralmente dependendo da ferramenta de documentação que está sendo usada. Usamos o PASDOC, então aderimos principalmente ao seu formato http://pasdoc.sipsolutions.net/ que é baseado em javadoc.
Como alternativa, há o XMLDOC, como Gabr apontou e existem algumas outras ferramentas, a maioria com sintaxe semelhante com diferenças sutis.