当前位置:首页 > 科技  > 软件

我们一起聊聊如何编写技术文档

来源: 责编: 时间:2024-09-10 09:48:46 31观看
导读为软件系统编写文档在软件开发中并不是什么新鲜事。几乎每个人都明白这个原则:你的软件产品对用户来说有多优秀并不是最重要的,因为如果你的文档不够好,用户就不会使用它!即使在某些情况下用户不得不使用你的产品,他

为软件系统编写文档在软件开发中并不是什么新鲜事。几乎每个人都明白这个原则:rDe28资讯网——每日最新资讯28at.com

你的软件产品对用户来说有多优秀并不是最重要的,因为如果你的文档不够好,用户就不会使用它!即使在某些情况下用户不得不使用你的产品,他们也需要好的文档才能高效使用,否则可能会误用你的产品。rDe28资讯网——每日最新资讯28at.com

不幸的是,几乎没有正确组织技术文档的实践和方法论。在团队合作中,编写文档仍然面临挑战。rDe28资讯网——每日最新资讯28at.com

仓促开始和结束

编写技术文档的任务似乎总是优先级很低:它需要大量时间,而且没有立即的正面反馈!所以文档编写一再推迟,直到某个时候不得不完成,比如新团队成员加入项目或我的开源产品即将发布时。只有到那时我才惊恐地意识到我没有文档。文档最终被草草编写,以至于完成后完全被忽视。随着系统的发展,这些文档逐渐脱节并变成谎言!这种说法乍一看似乎很荒谬,但在我周围经常发生。rDe28资讯网——每日最新资讯28at.com

混乱的结构

就像编写代码一样,混乱的结构可能相当致命。我们可以使用类似 technical-writing-template 的东西来确保单篇文章的质量基于模板约定达到一定标准。然而,在复杂的软件系统中,高质量的单篇文章是不够的。许多优秀的软件产品都有适当结构化的文档,让初学者和长期用户都能轻松阅读。我认为文档无法摆脱混乱有几个原因:rDe28资讯网——每日最新资讯28at.com

  1. 文档由多人编写。《探索极限编程》描述了XP团队中"文档编写者"的角色。尽管如今敏捷实践盛行,但在敏捷团队中,无论是成熟的"角色即帽子"概念还是传统的"角色即职位"概念,"文档编写者"的角色可能很少见。文档由不同的人为不同的部分编写,然后组合在一起,自然会导致混乱。
  2. 缺乏对抗混乱的模式。与软件编写不同,我们有深入人心的默认约定作为架构风格。甚至还有C4模型来可视化软件架构,帮助团队保持一致理解,并允许架构有序演变。除了本文将介绍的文档象限外,未发现其他有影响力的写作模式。

两种组织方法

  1. 结构化文档

通过观察优秀技术文档的组织结构,如Unix手册、Spring Boot或React,你会发现它们都是结构化的。主要用法是根据索引浏览感兴趣的内容。rDe28资讯网——每日最新资讯28at.com

一般来说,编写技术文档基本上意味着编写类似的结构化文档。结构化文档不仅是目前最主流的文档组织方式,在可预见的未来也将如此。rDe28资讯网——每日最新资讯28at.com

保持清晰的结构绝非易事。作者很幸运地看到了一种确保正确生成结构化文档的模式:文档象限。rDe28资讯网——每日最新资讯28at.com

在坐标系中,将象限分为两个轴描述文档的属性。横轴描述文档的使用场景是倾向于工作还是学习,纵轴描述是倾向于理论还是实践。这四个象限分别是教程、操作指南、参考和解释:rDe28资讯网——每日最新资讯28at.com

图片图片rDe28资讯网——每日最新资讯28at.com

文档象限为其内容的呈现定义了明确的界限,使文档看起来简单易懂,更适合对外输出,并帮助用户快速入门。rDe28资讯网——每日最新资讯28at.com

  1. 图形化文档

除了结构化文档之外,似乎还有另一种组织文档的方式:基于图形,并且正在获得影响力。通常,为了保持文章的简洁性和连贯性,我喜欢使用链接文本指出其他地方的相关概念。一旦你深入几层链接,你会发现文档承载的知识很快形成一个大网络。"知识图谱"这个术语恰如其分。自2012年Google知识图谱发布以来,知识图谱的主要应用仍在搜索引擎和文献检索领域。像logseq这样的产品采取了不同的方法,通过加强知识之间的联系,以图形化方式组织文档。其主要用法涉及关键词搜索结合跳转到相关内容(链接引用)。rDe28资讯网——每日最新资讯28at.com

在使用 logseq 时,我发现这种方法更符合人类在大脑中构建知识模型的方式,有助于深入全面地理解问题。这与Luhmann的"Zettelkasten方法"产生共鸣。rDe28资讯网——每日最新资讯28at.com

我认为,基于图形的文档组织更适合作为团队的知识库,用于团队内部的知识生产和管理。这与其主要操作模式有关。虽然我认为关键词搜索是一种有效的方法,但它对新用户的搜索能力提出了挑战。rDe28资讯网——每日最新资讯28at.com

选择参考rDe28资讯网——每日最新资讯28at.com

当你开始构建文档时,即使没有任何考虑,你也应该使用一些文档工具或协作平台来保存你编写的文档。我了解一些常用的文档工具:rDe28资讯网——每日最新资讯28at.com

文档生成工具:rDe28资讯网——每日最新资讯28at.com

  • sphinx
  • docusaurus

文档托管和协作:rDe28资讯网——每日最新资讯28at.com

  • Google Docs
  • Confluence

图形化文档工具:rDe28资讯网——每日最新资讯28at.com

  • logseq

这些文档构建方法和工具有什么用途?世界上可能没有完美的软件工具或系统能满足所有个性化需求。当你选择Google Docs进行协作编辑时,你将不得不处理大量样式调整。当你使用Logseq作为团队的内部知识库时,其独特的文档标记格式使得迁移到其他工具变得困难。这令人沮丧!因此,构建文档也需要类似的技术决策工作来确定适合的解决方案。这意味着在困难的权衡中做出选择,选择一个满足要求的解决方案,其优点仍然鼓舞人心,而缺点是可以容忍的。rDe28资讯网——每日最新资讯28at.com

值得注意的是,具备编写文档的能力并不是唯一要求;在选择解决方案时,我们似乎更重视功能之外的重要特性。是的,文档构建也应该满足可预见的非功能性需求:rDe28资讯网——每日最新资讯28at.com

  • 可移植性:在可预见的未来,是否需要将文档迁移到另一个环境?
  • 可用性:用户体验和易用性、协作能力、国际化。
  • 合规性
  • 可访问性:仅在内部网络有效?完全公开还是需要授权和认证?
  • 存档:文档如何更改、保存和备份?
  • ...

令人兴奋的文档构建解决方案rDe28资讯网——每日最新资讯28at.com

  1. sphinx + Document Zenith + Git

使用Document Zenith组织内容,保存在Github等托管平台上,并使用Sphinx生成电子书进行发布,或生成HTML进行私有部署。rDe28资讯网——每日最新资讯28at.com

优点:rDe28资讯网——每日最新资讯28at.com

  • 良好的国际化支持
  • 高度灵活性
  • Sphinx高度可配置,生态系统成熟
  • 文档托管和私有部署有多种替代选择
  • 只依赖Python运行环境,可移植性高,可以随软件版本迭代更新、维护、部署,并纳入迭代管理

缺点:rDe28资讯网——每日最新资讯28at.com

  • 文档贡献者需要熟悉两种技术:Git和markdown
  1. logseq

使用logseq作为知识库,并将文档保存在Github等托管平台上。rDe28资讯网——每日最新资讯28at.com

优点:rDe28资讯网——每日最新资讯28at.com

  • 可以以极低成本构建知识图谱,作为知识库
  • 使用方式涉及关键词搜索和跳转到相关内容,这种交互方式更容易让人专注于思考

缺点:rDe28资讯网——每日最新资讯28at.com

  • 使用方式涉及关键词搜索和跳转到相关内容,不适合初学者快速入门
  • 需要每个用户安装Logseq客户端
  • 贡献者需要熟悉两种技术:Git和markdown
  • 难以对外发布内容
  1. Google Docs/Confluence + 文档管理

优点:rDe28资讯网——每日最新资讯28at.com

  • 多用户协作
  • 内置认证和授权支持单点登录(SSO)
  • 流行产品,易用性好

缺点:rDe28资讯网——每日最新资讯28at.com

  • 需要手动管理存档和备份,容易导致混乱
  • 可移植性差

本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-112739-0.html我们一起聊聊如何编写技术文档

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 这八 个常见的前端开源库,你一定要知道!

下一篇: Python十大经典项目与实战案例

标签:
  • 热门焦点
  • 红魔电竞平板评测:大屏幕硬实力

    红魔电竞平板评测:大屏幕硬实力

    前言:三年的疫情因为要上网课的原因激活了平板市场,如今网课的时代已经过去,大家的生活都恢复到了正轨,这也就意味着,真正考验平板电脑生存的环境来了。也就是面对着这种残酷的
  • CSS单标签实现转转logo

    CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 不容错过的MSBuild技巧,必备用法详解和实践指南

    不容错过的MSBuild技巧,必备用法详解和实践指南

    一、MSBuild简介MSBuild是一种基于XML的构建引擎,用于在.NET Framework和.NET Core应用程序中自动化构建过程。它是Visual Studio的构建引擎,可在命令行或其他构建工具中使用
  • 让我们一起聊聊文件的操作

    让我们一起聊聊文件的操作

    文件【1】文件是什么?文件是保存数据的地方,是数据源的一种,比如大家经常使用的word文档、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存数据,它既可以保
  • 只需五步,使用start.spring.io快速入门Spring编程

    只需五步,使用start.spring.io快速入门Spring编程

    步骤1打开https://start.spring.io/,按照屏幕截图中的内容创建项目,添加 Spring Web 依赖项,并单击“生成”按钮下载 .zip 文件,为下一步做准备。请在进入步骤2之前进行解压。图
  • 微软邀请 Microsoft 365 商业用户,测试视频编辑器 Clipchamp

    微软邀请 Microsoft 365 商业用户,测试视频编辑器 Clipchamp

    8 月 1 日消息,微软近日宣布即将面向 Microsoft 365 商业用户,开放 Clipchamp 应用,邀请用户通过该应用来编辑视频。微软于 2021 年收购 Clipchamp,随后开始逐步整合到 Microsof
  • 中国家电海外掘金正当时|出海专题

    中国家电海外掘金正当时|出海专题

    作者|吴南南编辑|胡展嘉运营|陈佳慧出品|零态LT(ID:LingTai_LT)2023年,出海市场战况空前,中国创业者在海外纷纷摩拳擦掌,以期能够把中国的商业模式、创业理念、战略打法输出海外,他们依
  • 三星电子Q2营收60万亿韩元 存储业务营收同比仍下滑超过50%

    三星电子Q2营收60万亿韩元 存储业务营收同比仍下滑超过50%

    7月27日消息,据外媒报道,从三星电子所发布的财报来看,他们主要利润来源的存储芯片业务在今年二季度仍不乐观,营收同比仍在大幅下滑,所在的设备解决方案
  • OPPO Reno10 Pro英雄联盟定制礼盒公布:萨勒芬妮同款配色梦幻十足

    OPPO Reno10 Pro英雄联盟定制礼盒公布:萨勒芬妮同款配色梦幻十足

    5月24日,OPPO推出了全新的OPPO Reno 10系列,包含OPPO Reno10、OPPO Reno10 Pro和OPPO Reno10 Pro+三款新机,全系标配了超光影长焦镜头,是迄今为止拍照
Top
Baidu
map