【发布时间】:2014-02-12 14:29:59
【问题描述】:
任务
我们希望根据以下标准为我们的 .NET 项目维护一些开发人员文档:
- “文档”,最好用 Markdown 编写,用于提供与一段代码不密切相关的信息(如概述、常见问题解答)。
- 用于代码和 API 文档的标准内联 cmets。因此,我们以类/接口上的标准内联 (XML) cmets 的形式(主要是为了支持 IntelliSense,其次是为了能够生成 API 引用)并希望继续这样做。
- 文档包含在它所记录的内容中;例如如果它是解决方案的概述,那么在解决方案中,如果它是针对项目的,那么在项目的文件中,版本控制方式与代码相同(这样文档与他们记录的内容接近,因此它们不太容易因为过时了,而且这是文档总是“手头”)。
- 能够(从 CI 服务器)为整个项目自动生成可读、已编译的文档,包括 API 的“文档”和内联 cmets。
一个例子
我们有一个项目,它是一个可在第 3 方系统中使用的组件。对于这个项目,我们有以下类型的文档:
- 概述(项目做什么,目标是什么)
- 安装说明
- API 文档
- 版本历史
我们希望我们的开发人员和其他开发人员能够 - 从项目的源代码包中阅读此文档并 - 来自网站。
我们研究过的解决方案
- 使用 wiki(我们尝试过 Confluence):这对于“文档”类型的文档(如概述或安装说明)很有用,但它独立于项目本身存在。这是另一个需要维护的系统,因为在开发时它不在眼前,它很快就会过时。此外,以某种方式将自动生成的 API 文档集成到其中也是一项任务。
- 使用 Markdown 文件并将它们存储在代码中:这很简单,文档始终在手边,并且与文档内容接近;但是,我们不知何故需要从这些文件和源文件的内联文档中生成一个可发布的 Web 包。
到目前为止,doxygen 看起来像是能够提供所有这些的解决方案。你同意吗?
【问题讨论】:
标签: documentation doxygen documentation-generation