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

有帮助吗?

解决方案

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

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

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

其他提示

如果您是Java新手并且之前使用过Doxygen,我只会使用Doxygen和Java,这会减少您使用javadoc时遇到的学习曲线。如果您之前没有使用过Doxygen,我会坚持使用javadoc,因为它是专为Java设计的。如果您不了解任何一个,并且您使用C ++(或其他支持的语言),就像使用Java一样,Doxygen是一个不错的选择,因为您将能够将它用于两种语言。

这两种工具都易于使用,具有类似的功能集。两者都具有NetBeans和Eclipse的插件(或预先构建),从而使生成doc的速度更快。每个使用的评论风格有很多重叠,但它们完全相同,所以很难将它们混合在一起(你必须知道<的详细信息em> both ,遗漏任何特定于一个或另一个的功能。我从来没有使用它,但似乎确实有一个 Doven的Maven插件

我喜欢这样的事实:使用Doxygen,您可以在与文档相同的页面上显示类图。另外,我喜欢它直接链接到源代码的事实,如果需要的话。我不知道javadoc是否具有这些功能。

JavaDocs的一大优势是它们可以正常工作。构建和查看它们所需的一切都包含在您已经安装用于编译程序的JDK中。

另一方面,Doxygen可能很难设置并正常工作。但如果设置正确,它应该能够生成PDF,RTF和DocBook,以及HTML。默认情况下,HTML没有组织为JavaDocs,因为index.html默认情况下会显示空白页面。此外,内联类和静态成员可能需要在文档中包含特殊标志,如果要生成PDF,您可能必须处理Linux发行版中没有所需pdflatex命令的麻烦(例如Ubuntu / Mint已经有最近的问题)所以,如果你只是apt-get安装并运行,你可能会得到一个充满错误的屏幕,即使是一个简单的程序。与安装API时自动获取javadoc的难易程度相比,Doxygen设置可能是一种悲惨的体验。一旦你克服了障碍,它应该更灵活地处理涉及不仅仅是java的项目。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top