【问题标题】:Code documentation for delphi similar to javadoc or c# xml doc [closed]delphi 的代码文档类似于 javadoc 或 c# xml doc [关闭]
【发布时间】:2008-10-25 07:24:19
【问题描述】:

我需要一个类似于 javadoc 或 c# xml doc 的代码文档工具用于 delphi 代码。什么是最好的工具?我更喜欢一种技术,它在未来与微软沙堡项目兼容。

【问题讨论】:

标签: delphi javadoc sandcastle


【解决方案1】:

看看SynProject,一个用 Delphi 编写的开源工具。

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

对于架构文档,源代码可以提取 cmets(ala PasDoc)然后将此文本嵌入到主架构文档中(带有类层次结构图和单元依赖关系)。

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

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

注意:我在这个问题之后很长时间才发布这个问题,因为 SynProject 此时不存在,值得一看。本帖has been defined as a reference for that question

【讨论】:

【解决方案2】:

据我所知,没有任何工具可以轻松与 Microsoft Sandcastle 兼容 - 至少在有人真正费心编写一个工具、修改现有工具或创建工具链以正确转换输出之前。

我个人使用PasDoc 取得了巨大成功。我建议构建最新的 SVN 版本,因为当前版本偶尔会出现复杂的接口定义。

【讨论】:

  • 我也使用 PasDoc 并从由 CruiseControl FWIW 调用的 Ant 构建脚本运行它。
  • Richard,这是一个很好的观点,因为它表明它可以通过构建实现自动化。
【解决方案3】:

Delphi + JavaDoc = DelphiCodeToDoc

【讨论】:

  • 我试过了,它崩溃了,并且文件包含一个匿名过程。
【解决方案4】:

尝试: - Doxygen 文档 - Pas2Dox

【讨论】:

  • 我在过去五年左右成功使用它,仍然是一个伟大而简单的解决方案。
  • 效果很好(看起来像我们也使用的 c 和 c++ 项目的文档)
  • 一开始我并不清楚,所以我想向其他人添加一个评论,这两个产品可以协同工作。 Pas2Dox 似乎是 Doxygen 的一个附加组件,为其添加了 Delphi 支持。
【解决方案5】:

自 Delphi 2005 以来,它在 Delphi 编译器中构建。它使用使用 XML 样式 cmets 的 XMLDoc 标准。就像 C# 一样,所以我猜 Sandcastle 可以处理它。见http://dn.codegear.com/article/32770http://tondrej.blogspot.com/2006/03/xml-documentation-in-delphi-2006.html

另见Documenting Delphi

【讨论】:

  • D2006 XMLDoc 生成器已完全损坏。我尝试使用它 - 在所有补丁之后都不起作用。
【解决方案6】:

Sandcastle 需要访问程序集才能生成它的文档,这意味着它仅适用于 .net 语言(尽管我不确定 Delphi.Net 是否可行)。但是,Delphi 2007 和 2009 具有与 C# 非常相似的内联 XML 文档。当您在项目选项中打开“生成 XML 文档”选项时,它将基于这些 cmets 构建 XML 文档。 然后可以使用 XSLT 生成您需要的任何文档格式(这是困难的一点)。

【讨论】:

    【解决方案7】:

    DelphiCodeToDoc 也有一个命令行来使用它与持续集成工具(例如)。

    【讨论】:

      【解决方案8】:

      这个问题很老了,但我今天遇到了同样的问题,发现了这篇文章。 Delphi 2007 允许以下语法,这似乎等同于 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;
      

      对于&lt;summary&gt;,似乎不可能允许换行。 &lt;br /&gt; 不起作用。

      【讨论】:

        猜你喜欢
        • 2010-10-24
        • 1970-01-01
        • 2011-05-13
        • 2011-07-17
        • 2012-10-05
        • 2011-09-07
        • 2018-08-08
        • 2011-12-13
        • 2012-11-19
        相关资源
        最近更新 更多