我需要为我的工作场所实现一个文档生成解决方案,并已将其缩小到标题中提到的三个解决方案。在这些解决方案之间的正式比较中,我能够找到的信息很少,我希望那些在以上一个或多个解决方案中具有经验的人可以参与其中:
以下是我从第一次传递中收集到的信息:
HeaderDoc优点:与苹果现有的文档一致,与制作苹果文档集兼容
HeaderDoc缺点:很难修改行为,项目没有积极地工作,许多人已经离开了它(这意味着一定有什么缺陷,尽管我不能量化)。
Doxygen :活跃的支持社区b/c的广泛使用基础,非常可定制,大多数输出类型(如latex等)
Doxygen Cons:需要努力使其外观/行为与苹果文档一致,与苹果文档集的兼容性并不是那么简单
AppleDoc优点:看起来与苹果现有的文档一致,与制作苹果文档集兼容,
AppleDoc缺点:正在积极开发的类型定义、枚举和函数的文档问题
这听起来准确吗?我们想要的解决方案将具有:
根据上面的所有信息,上述解决方案中是否有明显优于其他解决方案的?如有任何建议或信息可供补充,我们将不胜感激。
发布于 2012-04-13 02:41:15
作为doxygen的创建者和首席开发人员,让我也提供我的观点
(显然也有偏见;-)
如果你正在寻找一个100%忠实于苹果文档风格的复制品,那么在这方面,AppleDoc是一个更好的选择。使用doxygen你将很难获得完全相同的外观,所以我不建议尝试。
关于Xcode文档集;苹果向instructions提供了如何使用doxygen设置文档集(在Xcode3发布时编写)。对于Xcode4,还有一个如何集成doxygen的nice guide。
从1.8.0版本开始,doxygen支持Markdown markup,以及大量额外的markup命令。
使用doxygen,您可以在主页(@mainpage)和子页面(使用@subpage或@ page )上包含文档。在页面内部,您可以创建部分和子部分。事实上,doxygen的用户手册完全是使用doxygen编写的。除此之外,您还可以将类或函数分组在一起(使用@defgroup和@ingroup),并在类内部创建自定义部分(使用@name)。
Doxygen使用配置文件作为输入。您可以使用doxygen -g生成具有默认值的模板,也可以使用graphical editor创建和编辑模板。您还可以使用doxygen -通过脚本通过doxygen传递选项(有关示例,请参阅FAQ的问题17 )
Doxygen并不局限于Objective-C,它支持多种语言,包括C、C++和Java。Doxygen也不局限于Mac平台,例如,它也可以在Windows和Linux上运行。pages的输出不仅支持HTML;您还可以生成PDF输出(通过LaTeX)或RTF和手册页。
Doxygen还超越了纯文档;doxygen可以从源代码创建各种图形和图表(请参阅与dot相关的选项)。Doxygen还可以创建代码的可浏览和语法突出显示版本,并将其与文档交叉引用(请参阅source browser相关选项)。
Doxygen对于中小型项目来说是非常快的(图的生成速度可能会很慢,但现在是在多个CPU核心上并行运行,一次运行的图形会在下一次运行中重用)。对于非常大的项目(例如数百万行代码),doxygen允许将项目分成多个部分,然后可以将这些部分链接在一起,就像我解释的here一样。
将doxygen用于Objective-C的一个很好的真实示例可以在here中找到。
doxygen的开发高度依赖于用户的反馈。我们有一个用于提问和讨论的活动mailing list,以及一个用于bugs和功能请求的bug tracker。
doxygen的大多数用户将其用于C和C++代码,因此这些语言自然拥有最成熟的支持,并且输出更适合这些语言的功能和需求。也就是说,其他语言的愿望和问题也得到了认真的对待。
请注意,我几乎所有的doxygen开发和大多数测试都是我自己在Mac上做的。
发布于 2012-04-12 20:32:43
我是appledoc的作者,所以这个答案可能是有偏见的:)我尝试了所有提到的生成器(甚至更多),但感到沮丧,因为没有一个产生我想要的结果(与您的目标相似)。
根据你的观点(我只提到appledoc和doxygen,我不太记得headerdoc ):
doxygen doxygen一致的外观: appledoc开箱即用,其他需要调整css,但可能是文档集的doable.
我已经有一段时间没有尝试使用其他工具了,所以上面提到的doxygen/headerdoc问题可能已经解决了!appledoc本身也有缺点:就像你提到的,它不支持枚举、结构、函数等(在这个方向上已经做了一些工作,check this fork),而且它有自己的set of issues,这可能会阻止你使用它,这取决于你的需求。
我目前正在进行cover most glaring issues的主要更新,包括对枚举、结构等的支持。一旦我完成了更大的块并使其足够稳定,我就会定期将新内容推到实验分支,这样你就可以跟踪进度了。但这仍然是非常早的,进展取决于我的时间,所以可能需要相当长的时间才能解决问题。
发布于 2013-09-20 00:05:13
Xcode 5现在将解析您的注释以搜索文档并显示它:

您不必再使用appledoc或doxygen (至少当您不想导出文档时)。欲获知更多信息,请访问here。
https://stackoverflow.com/questions/10109496
复制相似问题