Delphi代码文档创建工具

Delphi代码文档创建工具,delphi,documentation,javadoc,Delphi,Documentation,Javadoc,可能重复: 我想开始记录一个非常大的Delphi应用程序,它目前没有任何文档。我的同事建议使用javadoc类型的文档样式,因为我们可以运行一个自动程序来创建好的文档,它可以搜索并且看起来很漂亮 (* Description of the function @param S some string @param Index the index of string s @retval TRUE condition where it is t

可能重复:

我想开始记录一个非常大的Delphi应用程序,它目前没有任何文档。我的同事建议使用javadoc类型的文档样式,因为我们可以运行一个自动程序来创建好的文档,它可以搜索并且看起来很漂亮

(* Description of the function            
 @param S        some string
 @param Index    the index of string s
 @retval TRUE    condition where it is true
 @retval FALSE   otherwise.
 @see            IndexOf
 @see            Sort
 @see            Sorted
*)
bool Stringlist::Find(const char *S, int &Index)
{
   [...]
}
这是我为我的项目完成有意义的完整文档的最好方法吗?如果是这样的话,什么是处理这些类型评论的好程序。到目前为止,我已经向我推荐了

如果有什么用途的话,这个程序非常古老,它从1993年左右开始不断开发,经历了许多不同的作者、许多不同的风格、IDE、标准等。

看看,这是一个用Delphi编写的开源工具

它被设计来处理一个完整的文档工作流程,从规范到发行说明,包括测试、架构和设计;当然,还有一个集成的Delphi解析器,可以从现有的Delphi源代码生成架构文档

对于体系结构文档,源代码可以提取注释(alajavadoc),然后将该文本嵌入到主体系结构文档中(带有类层次结构图和单元依赖关系)

在专用文本编辑器中使用类似wiki的语法编写纯文本文件,然后SynProject从中创建格式良好的Word文档。有些向导可用于访问内容。但由于它存储为普通文件,多个程序员可以使用任何SCM工具(SVN、化石…)在其上编写


例如,我目前使用它为一个巨大而古老的Delphi应用程序编写维护文档(用Delphi5和Delphi6编写的大约2000000行代码),而之前没有可用的文档。描述对代码所做的更改(通过引用单元/类/方法),然后工具将更新所有文档以反映和跟踪这些修改。SynProject的设计符合一些非常“微妙”的监管规则(IEC 62304),但由于其独特的“平面”设计,可用于任何项目。

如果您只想根据函数注释记录源代码,我建议您使用Doc-O-Matic

但这里真正的问题是:你应该记录你的源代码吗?我不这么认为。根据TDD和XP,您不应该对代码进行任何注释。您的代码应该包含好的过程名称,这些名称真正指示了过程的功能。因此,您可以考虑不要对其进行文档化,只是重构它,这样就可以很容易理解。

在源文档中没有创建“最佳方式”。因此,任何答案在某种程度上都是主观的

首先,您必须选择源代码中的文档样式。您可以使用“本机”注释、
JavaDoc
XMLDoc
。选择文档样式后,应选择文档标准

您还需要一个文档生成器来发布源代码中的文档(html、pdf或其他格式)

至于Delphi源代码,目前最受支持的是
JavaDoc
style。我尝试了DelphiCodeToDoc(它使用
JavaDoc
)来生成html文档,而且效果很好。我认为您可以找到更多支持
JavaDoc
的Delphi源代码的文档生成器

我仍然更喜欢
XMLDoc
风格和风格。这是主观的。我假设现在最好的
XMLDoc
Delphi文档生成器是Doc-O-Matic。它还支持
JavaDoc
风格,我目前正在试用它。它不支持中提到的所有标记,例如,它不支持标记,但您可以改为使用并生成值得尊敬的文档


尝试可用的,并选择您更喜欢的。

您正在记录应用程序或其代码吗?我正在记录的代码可能与我知道的伟大项目的代码重复,但没有文档,而且代码编写良好:例如KSDev或MSEGui。缺少文档对他们来说是一种遗憾!对于大型项目,IMHO必须提供代码注释或精确的文档。VCL没有注释,但有参考帮助。此外,记录接口也是一个很好的实践:我通常将其编写为规范,然后编写测试,然后编写实现。它与XP或TDD完全兼容。你在哪里发现TDD或XP要求你不要评论你的代码!TDD/XP中没有教条!嗯,对于一个如此古老的重构项目,它将需要几个月的时间,并引入大量的bug。大约18年后,大多数bug已经从程序的核心部分被排除。如果我必须在重构和引入bug之间做出选择,或者只是记录一些东西,我会选择记录。