关于 rustdoc 的思考

主要观点:围绕rustdoc展开讨论,包括其优点(如文档生成工具、支持多种功能、与编译器紧密结合等)和缺点(如搜索功能待改进、部分组织方式存在不足等),还对比了rustdoc与其他语言文档工具(如 Doxygen、Javadoc、Sphinx 等)的差异。
关键信息:

  • rustdoc约 12 年前吸引作者使用 Rust,是由懂编程实际需求的人构建,文档生成工具,HTML 模板可读,注重深度链接,能处理 Rust 中较奇怪的部分,与 rustc 紧密结合,文档是被文档化事物的属性可通过 AST 收集,能解析注释运行为代码,可输出 JSON 数据,坚持用 Markdown 等。
  • 与其他语言文档工具对比:Doxygen 和 Javadoc 需更多工作关联注释与代码,rustdoc 默认由编译器完成;Sphinx 更适合教程等内容,rustdoc 主要是 API 文档工具;rustdoc 搜索功能有待提升,组织方式存在争议等。
    重要细节:
  • rustdoc 能计算并插入符号链接,如在 Rust 1.48 中加入;搜索功能虽好但仍有提升空间,如可搜索返回值实现的 trait 等;组织方式上,有人喜欢按字母顺序,有人喜欢按重要性排序等。
  • 不同人对rustdoc的看法和使用经验,如有人喜欢其无需额外工具生成文档、能交叉引用依赖文档等,也有人指出其存在的问题,如 inline 文档测试处理受限、LSP 不突出断链等。
阅读 6
0 条评论