Doxygen vs Javadoc [已关闭]

2022-08-31 14:47:33

我刚刚从CACM的一篇文章中意识到Doxygen也适用于Java(和其他几种语言)。但是Java已经有了Javadoc工具。有人可以解释一下这两种方法的优缺点吗?它们是相互排斥的吗?有Doxygen的Maven插件吗?


答案 1

Doxygen具有许多JavaDoc无法提供的功能,例如层次结构和合作上下文的类图,更多的摘要页面,可选的源代码浏览(与文档交叉链接),额外的标签支持,例如在单独的页面上@todo,它可以生成TeX和PDF格式的输出。它还允许大量的视觉定制。

由于Doxygen支持标准的JavaDoc标签,因此您可以在任何带有JavaDoc注释的源代码上运行Doxygen。在没有JavaDoc的情况下在源代码上运行通常甚至是有意义的,因为即使没有文档,图表和源代码浏览也可以帮助理解代码。由于JavaDoc工具忽略了未知标签,您甚至可以使用其他Doxygen标签而不会破坏JavaDoc的生成。

说了这么多,我必须承认我已经很久没有使用Doxygen了。我现在倾向于严重依赖我的IDE来提供相同的可视化,我通常不会将JavaDoc作为HTML页面读取,而是将源文件导入到我的IDE中,以便它可以生成JavaDoc浮出控件,我可以跳转到定义。这甚至比Doxygen所提供的更强大。如果你想在IDE之外有文档,并且乐于运行非Java工具,那么Doxygen值得一试,因为它不需要对你的Java代码进行任何更改。


答案 2

我只会在你是Java新手并且以前使用过Doxygen的情况下使用Doxygen和Java,从而减少了你使用javadoc的学习曲线。如果你以前没有使用过Doxygen,我会坚持使用javadoc,因为它是专门为Java设计的。如果您不了解其中任何一种,并且您使用C++(或其他受支持的语言)的工作与Java一样多,那么Doxygen是一个不错的选择,因为您将能够将其用于两种语言。

这两种工具都易于使用,具有相似的功能集。两者都有针对NetBeans和Eclipse的插件(或预内置),使生成文档的速度更快。每个评论样式都有很多重叠,但它们并不完全相同,因此很难将它们混合在一起(您必须知道两者的详细信息,省略特定于一个或另一个的任何功能)。我从来没有用过它,但似乎确实有一个用于Doxygen的Maven插件


推荐