跳到主要内容

信息表达:把内容写清楚,让读者用得上

“query_timeout:超时时间,默认 30。”这句话格式没有问题,但读者仍不知道单位、0 的含义和修改影响谁。信息表达要解决的,就是这些会妨碍判断和操作的问题。

本页先讨论内容缺口,再比较标签页、折叠和表格。例子中的 query_timeout 是虚构参数,用于演示写法,不是 MySQL 配置建议。

从内容到发布,分别检查什么​

当前问题去哪里看
格式能否表达合并表格或共享片段?标记语言对照
背景、步骤和参数混在了一起?概念说明、操作步骤、参数参考
编辑器里正常,发布后变了样?发布工具与扩展语法

这几类内容可以按需查阅。同一事实可以出现在不同文档里,但组织方式应围绕读者当前的问题。

从读者疑问找缺口​

读者会问什么需要确认的事实
限制等待时间,还是执行时间?控制对象、计时起止点
30 是秒还是毫秒?单位、类型、取值范围
0 是不等待,还是不限制?特殊值含义
改完影响谁?作用域与生效时机
超时之后发生什么?错误、事务与连接的后续状态

先查对应版本的说明、源码或测试结果,再改写。找不到依据的行为列为待确认,不用肯定的语气填补空白。

改写示例:虚构服务

query_timeout 限制单次查询的执行时间,单位为秒,默认值为 30。接受 0~3600 的整数,0 表示不设置时限。

修改只影响当前会话之后发起的查询,正在执行的查询不受影响。达到时限时,当前查询终止并返回 QUERY_TIMEOUT。

事务是否回滚、连接是否可继续使用,以及如何查询当前值,仍需核实。

写得更具体,不等于事实已经正确。把未确认的部分留出来,是这段说明的重要组成部分。

按读者做事的顺序安排​

通常先说条件与影响,再写操作,最后说明怎样确认结果。风险提醒放在有关动作之前;只有少数人需要的原理或历史放在附近的补充说明里。

标题说明目标,段首先给结论,链接名称直接写出目标内容。任务很短时,可以在几句话中完成,不必套一套长模板。

标签页:同一任务的不同写法​

读者通常只需要一种语言或平台时,可以用标签页。共同的前置条件放在外面,里面只放各自的内容。

{
"query_timeout": 30
}

需要同时比较时,用并排展示或表格更方便。有先后依赖的步骤应保持连续,不能分散到不同标签里。本例把选项写入 URL,便于分享指定写法;站内搜索、键盘操作和打印效果仍需另外检查。

折叠:收起补充信息,保留关键条件​

如果读者不展开折叠块也能完成任务,里面通常适合放原理、历史或少见的排错细节。必须知道的前置条件、风险和验证方法保持可见。

修改只影响当前会话之后发起的查询。

为什么不只写“立即生效”?

“立即”没有说明影响范围。读者可能以为正在执行的查询也会改变。写清对象和时间边界,比换一个更强烈的副词有用。

折叠标题直接写出问题。整页内容都要逐个展开时,先考虑是否应该拆页或精简。

表格:按内容分配列宽​

表格适合比较同类信息。默认值通常很短,说明文字较长,均分列宽可能导致不必要的折行。

试着切换列宽,内容保持不变

左右滑动表格,查看完整三列。

虚构参数,用于比较列宽
参数默认值说明
query_timeout30单位为秒。限制单次查询的执行时间;0 表示不设置时限。修改只影响当前会话之后发起的查询。
max_result_rows1000限制一次返回的结果行数。结果达到上限时,需要缩小查询范围,不能据此判断源表只有这些行。
trace_query_executionfalse记录当前会话的查询执行信息。记录可在当前会话的诊断页查看,会话关闭后清除。

这里使用 27% / 14% / 59% 作为对照,并不是通用比例。窄屏下保留横向滚动,不截掉说明。

先删无用列,再分配宽度;长步骤移到表外。窄屏保留完整内容,在表格区域内滚动。表头应使用真正的表头单元格,不能只靠加粗或颜色区分。

列宽示例用了什么?

本例使用 HTML colgroup 和 table-layout: fixed,外层允许横向滚动。具体比例需要按内容试读,而不是套一个固定数值。

需要跨行跨列时,可对照合并单元格示例。

其他内容适合怎样展示​

读者要做什么可以采用需要避免
按顺序完成操作有序步骤漏掉条件、预期结果
按条件选择路径判断表、流程图分支没有结果
复制配置代码块输入与输出混在一起
理解调用关系图加文字说明箭头含义不明
找到界面控件标注截图加菜单路径只有截图,没有可搜索的名称
注意限制就近的提醒每一段都用警告框

用真实任务检查效果​

请一位不熟悉内容的人找出适用版本、判断参数能否设为 0,并找到验证方法。观察他在哪里停住:条件藏得太深,术语没解释,还是两个地方的说明不一致?

这类观察能指向具体修改。浏览量、停留时间和点击率只能提供线索,不能单独证明文档是否解决了问题。

作者自查清单​

下面是我整理的检查问题,不是行业评分标准。按文档类型选用,可以标记“不适用”;勾选只记录你的判断,不会自动验证技术事实。

按当前文档选用

记录已核实的事项,不给文档打分。

  • 查看说明
  • 查看说明
  • 查看说明

已确认 0 项 · 待检查 12 项 · 不适用 0 项。记录仅保留在当前页面。

哪些检查适合自动化​

构建失败、内部链接缺失和固定术语写法适合交给工具。技术结论是否成立、读者能否完成任务,还需要审阅和实际验证。

用规则提醒需要复核的措辞​

例如可以用 Vale 提醒作者检查“立即生效”。它只能找到词语,不能判断上下文已经解释清楚,更不能推断数据库行为。

在专门的演练目录创建 .vale.ini:

StylesPath = styles
MinAlertLevel = warning

[*.md]
BasedOnStyles = Review

在 styles/Review/Scope.yml 中保存规则:

extends: existence
message: "请核对 '%s' 是否交代了作用域和生效时机。"
level: warning
nonword: true
tokens:
- 立即生效
- 马上生效

安装 Vale 后运行 vale example.md。这里使用警告让作者复核,不因命中某个词就判定内容错误。中文词组的边界设置见 Vale existence 规则。

中文审校也可评估 DocSifter。工具的提示和 AI 建议都应结合上下文处理。

一个可以放进本站的构建检查​

以下示例适用于本仓库的 package.json、锁文件和 check:docs-links 脚本。新项目需要换成自己的版本和命令。它构建站点并检查生成后的文档内链;不包含产品行为验证或公网部署。

name: Documentation checks

on:
pull_request:
paths:
- 'docs/**'
- 'i18n/**'
- 'src/**'
- 'static/**'
- 'scripts/**'
- 'package.json'
- 'pnpm-lock.yaml'
- 'docusaurus.config.ts'
- 'sidebars.ts'
- '.github/workflows/docs-checks.yml'

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 9.15.4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm build
- run: pnpm check:docs-links

这是可采用的工作流示例,是否将它设为合并必需条件,需要在实际仓库里配置并验证。不要把“能构建”当成“所有内容正确”。

继续阅读:操作说明的完整小例子、参数参考或发布工具的取舍。