创建技术文档的注意事项
浏览:1
巴克励步
在Baklib,我经常和产品经理、技术写手们聊天。很多人把技术文档看作是开发完成后才想起的"附带工作",结果往往是零散的Word文档或者复杂的Wiki页面,团队找不到、客户看不懂。我始终认为,产品手册建设不应该是一个事后行为,而应该是产品研发流程中不可或缺的一环。好的产品手册,不仅能降低客户的 onboarding 成本,还能减少客服压力,甚至成为销售团队的弹药库。Baklib 的产品手册建设方案,
在Baklib,我经常和产品经理、技术写手们聊天。很多人把技术文档看作是开发完成后才想起的"附带工作",结果往往是零散的Word文档或者复杂的Wiki页面,团队找不到、客户看不懂。我始终认为,产品手册建设不应该是一个事后行为,而应该是产品研发流程中不可或缺的一环。好的产品手册,不仅能降低客户的 onboarding 成本,还能减少客服压力,甚至成为销售团队的弹药库。Baklib 的产品手册建设方案,就是要把这种"被动输出"变成"主动设计"——通过统一的知识库结构、Markdown友好的编辑器以及多站点发布能力,让技术文档真正成为可复用的数字资产。
应该做的
你希望自己的技术文档是高质量的。高质量的技术文档可以消除信息孤岛、更快地解决问题,并大大简化代码库的编辑工作。总的来说,没有任何缺点。以Meta的Instagram API指南为例,这份文档易于阅读,你应当能轻松理解其内容。为什么?因为它遵循了几个基本的技术文档原则。以下将详细描述每一项应该做的实践。
创建文档样式指南
Meta文档之所以引人注目,一个关键因素是其风格的一致性。项目符号列表表示前提条件,编号列表表示步骤。所有副标题的大小写一致,空白区域也分布均匀。所有这些小细节的一致性自动赋予了文档连贯的外观,同时提升了可用性。然而,记住所有这样的样式实践几乎是不可能的。确保一致性的唯一方法是保留一个书面的参考点:样式指南。样式指南汇总了格式化和编写文档的标准,是你的技术文档圣经。它列出了你组织的样式要点,帮助你的文档符合公司标准。样式指南涵盖了以下内容:假设你不确定该写"specialized"还是"specialised",或者记不清如何大写标题,样式指南会给出答案。样式指南是非常全面的文档——理想情况下,它应涵盖所用语言的每一个方面。考虑到这项巨大的工程,大多数公司只是采用现有的样式指南作为蓝图。有很多选择,所以找到适合你业务的指南并不费力。例如,以下是Microsoft的样式指南:正如Microsoft指出的,这个样式指南不仅适用于公司内部人员。任何撰写计算机技术相关内容的人都可以使用它;这些资源是公开可用的。只需选择一个样式指南,根据需要进行编辑,你的技术文档就能轻松获得一致、连贯的外观。
为可读性格式化内容
回到Meta的例子,其最显著的特征之一是易于阅读。一眼就能理解文档的目的和内容,证明了其高可读性。这是一个非常重要的特性,因为技术文档描述的是复杂主题。因此,文档必须尽可能易于理解。可以这样想:有了定义清晰的标题、粗体和斜体文本以及有序列表,阅读软件架构要容易得多。结构化的格式使复杂主题更易接近。看看HubSpot的文档:标题足够大,所有链接都以绿色粗体显示,代码看起来像代码。此外,两个有用的高亮文本框进一步阐明了技术的用法。无服务器功能很难算得上是轻松阅读,但HubSpot通过这些视觉元素使文本更易消化。正确的格式有助于文档变得更具可读性。实现这种可读性的一种简单方法是使用文档平台。这些资源通常包含Markdown编辑功能,有助于文本格式化。以下是Markdown在Baklib中的工作方式:只需几个按键就能以你希望的方式编辑文本。例如,两个引号产生代码文本,星号加粗文本——对于两种重要的文本格式来说,操作极其简单。如果你不懂Markdown,Baklib还提供了悬浮工具栏编辑器。虽然速度不如Markdown,但那些格式化选项仍然比HTML操作更快、更直观。
💛🧡🧡客户评价:由于 Baklib 为您提供所需的数据,您可以将这些数据收集到一些灵活的反应框架 (next.js) 中,这样您就可以实现几乎任何目标,并且您可以根据对代码不感兴趣的人的需求量身定制非常流畅的体验。一旦代码片段组合在一起,上市速度就会很快 - 组件可以非常快速地创建和安装到位,并且可以通过您决定遵循的任何发布流程进行目视检查,然后再进入生产系统 - 这一切都归功于非常聪明的可视化 UI。仅仅为了理解最佳方法就需要花费相当多的精力和努力,但一旦有了它,它确实是一个灵活的系统,Baklib 可以随着时间的推移轻松改进它;不过,目前已经有足够的资源可以开始使用了。
利用视觉内容
如果你再回头看Meta的文档,你会看到它包含的不只是文字。在配置Facebook Login的初始说明下方,有一个截图展示了在哪里配置Facebook Login。这样的视觉元素在技术文档中非常有帮助,因为它们能更好地解释复杂概念。想想Meta的文章:当图片直接告诉你按钮在哪里时,为什么要解释如何找到正确的按钮?视觉元素能更有效地传达信息,用户也能轻松理解文档内容。Slack的文档是一个很好的例子:文本描述了可操作的通知消息。首次用户可能是第一次遇到这个术语,所以Slack包含了一张图片来更好地解释这个概念。如果文字不够清晰,截图肯定能说明问题。然而,截图并不是唯一有用的视觉元素。当解释工作流程、软件架构和API活动时,使用图表通常是个好主意。图表将复杂而细致的工作流程提炼成清晰易懂的格式,读者可以快速理解特定系统的运作方式。通常,它们比用文字表达的相同内容更容易理解。这里有一个优秀的图表示例:这个图表展示了所有组件之间的关系、它们如何相互交互以及它们能执行哪些操作。所有元素之间的组织关系一目了然。现在想象一下只用文字来解释这一切;最终结果会复杂得多。
不应该做的
创建高质量的技术文档不仅要知道该做什么,还要知道避免什么。如果文档的第一页只是一堆API调用列表,那么再多的图片也无济于事。考虑以下文档:这种格式和风格会让读者很难理解文章内容,并很快迷失在这堵文字墙中。这份USPS文档违反了几个关键的技术文档规则(创建技术文档的禁忌),导致了糟糕的可用性。以下部分将详细介绍这些禁忌,以便你避免此类陷阱。
构建糟糕的文档结构
在USPS的文档中,无尽的文本行一个接一个地堆叠,间距微小。即使进入新部分(例如SCAN API),这种格式化仍然适用——标题与正文之间没有间隔。这种缺乏分隔空白的情况对文档的结构产生了负面影响,阻碍了导航。读者无法自然定位孤立的部分,反而需要眯着眼睛寻找所需信息,因为没有东西可以区分段落。因此,为了避免糟糕的结构,试着接受Michael Horton(Slate的CEO)的建议:你包含的空白越多,文档的结构就越清晰,读者导航起来也越容易。然而,为了让导航更方便,确保你聪明地使用标题。例如,USPS的文档在主要的SCAN API标题和Overview子标题之间没有任何区分。唯一的区别是SCAN API全部大写——大小、字体和颜色都一样。现在看看这些不同的标题:通过明确的层级区分,读者可以轻松理解文档的组织结构。
避免使用被动语态和模糊表述
技术文档应使用主动语态和清晰的语言。被动语态(例如"按钮应被点击")会使句子冗长且难以理解。相反,使用主动语态("点击按钮")更直接。此外,避免模糊的表述,如"可能"、"大概"、"通常"。技术文档需要准确,消除歧义。例如,不要说"这可能需要几分钟",而应说"这个过程需要2-5分钟"。明确具体细节有助于用户准确操作。
不要忽视受众
技术文档的受众多样,包括开发人员、非技术人员、客户等。在编写时,要考虑不同受众的知识水平。例如,对于开发人员,可以使用特定术语和代码示例;对于非技术人员,需要更详细的解释和比喻。一个常见的错误是假设所有读者都具备相同的背景知识。最好提供分层次的文档,从概述开始,逐步深入。Baklib的知识库支持多级目录和标签,可以针对不同受众创建不同的视图。
不要忘记持续更新
技术文档不是一次性的工作。随着产品迭代、API变更,文档也需要同步更新。过时的文档比没有文档更糟糕,因为它会误导用户。因此,建立一个文档维护流程,定期审查和更新内容。Baklib支持版本控制和协作编辑,可以帮助团队轻松管理文档更新。