如何写好文档
你的产品有多好并不重要,因为如果它的文档不好,人们就不会使用它。即使他们因为别无选择而不得不使用它,如果没有好的文档,他们也不会有效地使用它或按你希望的方式做。
几乎每个人都明白这一点。几乎每个人都知道他们需要好的文档,大多数人都试图创建好的文档。但大多数人都失败了。
这不是因为他们不够努力,而是因为他们没有以正确的方式做这件事。
用正确的方法可以使你的文档更好。正确的方法也是更简单的方法——更容易编写,更容易维护。
文档的分类
文档需要包含并围绕其四个不同的维度进行分类:教程、操作指南、参考指南和解释。它们中的每一个都需要不同的写作模式。使用软件的人在不同的时间、不同的情况下需要这四种不同类型的文档。
不同类型的文档需要围绕它们的目标维度构建,并且能彼此区分。
| 教程 | 操作指南 | 参考指南 | 解释 | |
|---|---|---|---|---|
| 文档目的 | 学习 | 达成一个目标 | 相关信息 | 深入理解 |
| 必要内容 | 允许新手入门 | 展示如何解决特定问题 | 描述体系架构 | 详细的解释 |
| 文档形式 | 一节课 | 一系列的操作步骤 | 干货 | 详细论证 |
| 例子 | 教小孩子做一道菜 | 烹饪大全中的一个食谱 | 参考的百科全书资料 | 烹饪有关的社会历史的文章 |
这种 划分使作者和读者都清楚用什么材料,要怎么样用材料,达到什么目标。它告诉作者如何写,写什么,在哪里写。它使作者免于浪费大量时间 试图将他们想要传递的信息变成一个有意义的形状,因为每一种文档只有一个目标。
一旦你理解了这个分类结构,它就会成为一个非常有用的工具:用来分析现有文档,并了解需要做些什么来改进文档。
教程
教程是引导读者完成一系列步骤以完成某种项目的课程。它们是项目所需,以便向初学者展示他们可以用来实现的一些目标。
读者完全以学习为导向,具体来说,他们以学习怎么做而不是学习本身为导向。
重要的是,完成本教程后,学习者就可以理解文档的其余部分以及软件本身。
大多数软件项目都有非常糟糕或根本没有教程。教程可以将你的学习者转变为你的用户。一个垃圾的教程或者没有教程将阻止你的项目获得新用户。
在四种文档的中,教程是最多也最长的,它最难做好。最好的教学方法其实是让老师在场直接教学生。但这几乎是不可能的,我们的教程充其量只是一个远非完美的替代品。
教程需要对初学者有用,让初学者容易照着做,并始终保持更新。

我们可以这样去写教程:
- 允许用户边做边学
- 让用户能入门
- 确保教程是有效
- 确保用户照着做后立即看到效果
- 教程可重复操作
- 专注于具体的步骤,而不是抽象的概念