技术文档写作:五步流程、可执行步骤与文档不烂尾的机制

技术文档写作:五步流程、可执行步骤与文档不烂尾的机制

技术文档写不好,最常见的表现是「写得很全,但没人看得懂」。原因往往不是语言能力,而是把它当成了「产品介绍」在写——先讲背景、再讲架构、最后才讲怎么用。

技术文档只有一个验收标准:一个没接触过这个功能的人,照着文档能不能一次把任务做完。本文按这个标准给四类文档的写法差异、五步写作流程、步骤与代码示例的硬要求,以及文档随代码更新的落地机制。

先分清四种文档,别混着写

同一份文档里混进教程、参考和概念解释,读者就会迷路。四类文档的任务完全不同:

类型读者状态写法不该出现的内容
教程完全不会,想学会一步一步带做,每步都有可见结果完整的参数表、边界情况
操作指南会一点,要完成任务按目标组织,最短路径原理长篇解释
参考手册熟练,要查细节结构化、可搜索、每条独立教学式铺垫
概念说明想理解为什么讲模型、关系、取舍操作步骤

判断方法看读者的问题:他在问「怎么开始」是教程,「怎么做 X」是操作指南,「这个参数什么意思」是参考,「为什么要这样设计」是概念。一个页面只回答一类问题。

五步写作流程

文档不是「想起来就写」,按这五步走,返工最少:

  1. 定任务:用一句话写出读者读完后能做成什么,动词开头。写不出这句,说明这个页面不该存在。
  2. 写前置条件:账号权限、依赖版本、已完成的步骤、需要的数据。这一节省掉,后面 80% 的求助都来自这里。
  3. 拆步骤:一步一个动作,每步都能被执行和验证。编号连续,不要嵌套超过两层。
  4. 写验证:每段操作后给一个「你应该看到什么」。没有验证点的步骤,等于没写完。
  5. 写失败处理:这一步最常出的三个错、错误信息原文、以及对应的处理动作。
技术文档页面结构:前置条件、编号步骤、代码块与故障排查
一个可执行的文档页面:前置条件、步骤、验证、失败处理四段齐全。

步骤要写成可执行的动作

步骤是技术文档的主体,也是最容易写虚的部分。对照下面这张表改一遍,可执行性会明显提升:

坏步骤问题改成
配置好环境变量。配哪些、配在哪、什么格式都没说在项目根目录新建 .env,写入 API_KEY=你的密钥,保存后重启服务
根据需要调整参数。没有任何判断依据并发低于 100 时用默认值 4;高于 100 改为 CPU 核数的一半
安装依赖。不知道用哪个包管理器、什么版本在项目根目录执行 composer install,需要 PHP 8.2 以上
确认服务已启动。没有验证方式浏览器打开 http://localhost:8080/health,应返回 {"ok":true}

三条硬规则:一步一个动作、命令单独成行可直接复制、每一步有可观察的结果。超过三个动作的步骤,拆开。

代码示例的三个要求

示例里的格式化细节(行内代码、标点、空格)同样影响可读性,中文与英文、数字之间加空格的规则见中文排版规范;示例与说明文字混排时,Markdown 的标题层级与代码块写法见Markdown 语法入门。

用词:把「形容词」换成「条件」

技术文档里最该删的是模糊动词和评价性副词。常见替换:

不要写改成
支持多种格式支持 JSON、CSV、XLSX 三种格式
快速返回结果单次请求在 200ms 内返回(10 万行以内数据集)
建议使用最新版本使用 2.4 及以上版本,2.3 不支持该参数
可能会出现异常令牌过期时返回 401,需重新获取
请合理设置超时超时设为 30 秒;批量任务按每 1000 条加 10 秒

另外两个习惯很有用:一句话不超过 40 字;同一概念全文只用一个词,不要「令牌」「Token」「凭证」混用。

错误处理段落怎么写

读者真正需要文档的时刻,往往是他遇到报错的时候。这一节按固定四段写:

  1. 错误现象:贴出报错原文(代码块),不要改写。
  2. 原因:一句话说清触发条件,例如「请求头缺少 Authorization」。
  3. 处理:给可执行的修复动作,按可能性从高到低排。
  4. 仍不解决:给下一步(查日志的路径、需要提供的信息、支持渠道)。

把最常见的三个报错放在页面底部,比写一段「如遇问题请联系我们」有用得多。

技术文档写作的可用性验证:新手按文档完成任务并记录卡点
可用性走查:让没写过这个功能的人照着做一遍,卡住的地方就是文档的缺口。

怎么验证文档是有效的

写完自己读一遍没用,做一次 20 分钟的走查:

这套方法和写长文的流程是相通的:先定读者任务,再排信息顺序,最后做验收。长文的结构安排可以参考长文写作流程。

让文档跟着代码一起更新

文档失效的原因几乎都是「改了代码没改文档」。四个低成本机制:

机制做法成本
同仓同 PR文档与代码放同一仓库,改动涉及界面或接口时,PR 模板里勾选「已更新文档」低
示例即测试文档里的命令与代码片段进入 CI,跑不过就拦住合并中
版本标注每个页面标注适用版本,过期页面直接标「已废弃」并指向新页低
反馈入口每页底部一个「这页有帮助吗」按钮,差评自动建 issue低

四个里至少做「同仓同 PR」和「反馈入口」,否则文档会在三个月内自然腐烂。

常见问题

文档要写给谁看?

每个页面只写给一类人。入门教程假设零基础,参考手册假设读者已经会了。试图在一页里同时服务新手和专家,结果是两边都读不下去。

要不要写「原理」?

操作指南里不写,单独开概念页,然后在步骤里加一句「原因见…」。读者要的是完成任务,不是在上手阶段理解架构。

截图要放多少?

界面会变,截图会过期。原则是:文字能说清的不用图;必须用图的地方,图里不要带会变的细节(版本号、时间、用户名)。

中文技术文档最容易犯的错是什么?

把「主谓宾齐全的短句」写成「长定语套长定语」。其次是中英文混排缺空格、全角半角混用。这两类问题最影响阅读速度。

一个人维护文档,怎么保证不烂尾?

只维护「被问到最多的十个页面」,其余标记为社区维护。文档质量靠优先级,不靠意志力。

小结

技术文档不是把功能讲清楚,而是把任务交出去:一句可验收的目标、一段前置条件、一串能照做的步骤、一个验证点、三个常见错误的处理。写完让新人走一遍,卡住的地方就是下一篇要改的地方。

← 返回首页 更多「写作方法」