我刚从CACM的一篇文章中意识到Doxygen也可以与Java(以及其他几种语言)一起使用。但是Java已经拥有Javadoc工具。请问有人能够解释一下两种方法的优缺点吗?它们是否是互斥的?是否有适用于Doxygen的Maven插件?
我刚从CACM的一篇文章中意识到Doxygen也可以与Java(以及其他几种语言)一起使用。但是Java已经拥有Javadoc工具。请问有人能够解释一下两种方法的优缺点吗?它们是否是互斥的?是否有适用于Doxygen的Maven插件?
Doxygen具有许多JavaDoc无法提供的功能,例如层次结构和合作上下文的类图,更多的摘要页面,可选的源代码浏览(与文档交叉链接),额外的标签支持,例如单独页面上的@todo标签,并且可以生成TeX和PDF格式的输出。它还允许大量的视觉自定义。
由于Doxygen支持标准的JavaDoc标签,您可以在任何具有JavaDoc注释的源代码上运行Doxygen。即使没有文档,图表和源代码浏览也可以帮助理解代码,因此通常甚至可以在没有JavaDoc的源代码上运行Doxygen。由于JavaDoc工具忽略未知标记,因此甚至可以使用其他Doxygen标记而不会破坏JavaDoc的生成。
说了这么多,我必须承认我很久没有使用过Doxygen了。现在我往往非常依赖我的IDE来提供相同的可视化效果,我通常不会将JavaDoc作为HTML页面阅读,而是导入源文件到我的IDE中,以便它可以生成JavaDoc flyout并且我能够跳转到定义。那比Doxygen提供的功能更强大。如果您想在IDE之外拥有文档,并且愿意运行非Java工具,则值得尝试Doxygen,因为它不需要更改您的Java代码。
如果你是Java的新手,并且之前用过Doxygen,那么我只会建议你在Java中使用Doxygen,这可以减少你使用javadoc时所遇到的学习曲线。 如果你以前没有使用过Doxygen,我建议你使用javadoc,因为它是专门为Java设计的。 如果你两个都不知道,而且你在C ++(或其他支持的语言)中的工作量与Java相同,那么Doxygen是一个很好的选择,因为你可以将其用于两种语言。
这两个工具都易于使用,并且具有类似的功能集。 它们都有NetBeans和Eclipse的插件(或预构建组件),使生成文档更快捷。 在每个工具使用的注释风格中,有很多重叠之处,但它们并不完全相同,因此在混合使用时可能存在困难(你必须了解两者的详细信息,并略去任何特定于某一方的功能)。 我从未使用过它,但似乎存在一个Doxygen的Maven插件。
我喜欢 Doxygen 的这个优点:文档可以显示在同一页上,包括类图。此外,如果需要的话,您还可以直接链接到源代码。不过,我并不确定 javadoc 是否具有这些功能。
{@link #myMethod(MyArgType)}
和{@link #myMethod}
语法? - Top-Master