【发布时间】:2011-04-04 15:10:03
【问题描述】:
我们都有记录代码的好习惯,对吧?
如今,代码内文档本身具有语法。它几乎就像一种编程语言。问题是:
- 存在哪些(多少)文档语法规范?
- 是否有标准的文档语法?
- 谁在定义这个标准?是否有官方委员会或机构(例如定义 C++ 标准的机构)?
- 或者“doxygen”已经成为事实上的标准?
很难不听说过 doxygen。在我参与的每个开源软件项目中都提到了它。然而,查看官方 doxygen 网站,doxygen 定义任何类型的规范远非显而易见!我得到的印象当我阅读“它可以帮助我的方式”时,doxygen 只是一个提取代码内文档并将其呈现在漂亮 HTML 页面中的软件。查看 doxygen 的首页,我什至认为 doxygen 可以使用任何文档语法在 3rd 方规范中定义,然后将其提取并输出为 HTML。
另外,有趣的是,doxygen 网站没有将 doxygen 这个词大写,好像它不是他们软件的品牌,而是一个普通名词(嗯,是吗?)
doxygen 到底是什么?
- 解析引擎?
- HTML 渲染引擎?
- 第三方软件可以使用库来呈现他们自己的文档?
- 文档语法(事实上)规范?
- 以上所有?
我对 doxygen 和其他代码解析器(如 ANTLR、boost-spirit、Ragel...)之间的关系感到特别困惑。
例如,doxygen 能做什么而 ANTLR 不能,而 ANTLR 能做什么 doxygen 不能?
另外,看看 Drupal 项目。他们有:
- 他们自己的API module 是“Doxygen 文档生成器规范子集的实现”。
- 他们自己的grammar parser module(添加到上面的列表中,以及 doxygen 本身、ANTLR 等)。
- 他们自己的API web site 运行上述两个模块,提供 Drupal 代码内“doxygen”文档。
因此,拿 C++ 类比,似乎“doxygen”这个词被重载了,在不同的上下文中意味着不同的东西。
在 Drupal 项目中,“doxygen”不是指软件,而只是文档语法的(标准?)规范,尽管正如我上面所说,doxygen 网站本身的首页并没有声称变成这样!
所以,我的离别问题是:
是否有任何其他文档语法规范?
【问题讨论】:
-
你问了很多问题。最后一项是最重要的吗?
-
它们都是相关的。也许我可以把它分成更多的问题......冒着其他人将它们标记为重复的风险。人们会根据他们的知识回答。
标签: c++ documentation doxygen specifications documentation-generation