开源英文文档如何撰写?

wen 开源项目 63

从零到专业级的技术写作方法论

目录导读


为什么开源文档需要“英文优先”?

在GitHub、GitLab等平台上,超过70%的开源项目采用英文作为主要文档语言,这并非“崇洋媚外”,而是因为:

开源英文文档如何撰写?

  1. 国际化协作:英文是开源社区的事实标准,能吸引全球贡献者。
  2. 搜索引擎覆盖:英文技术查询在Stack Overflow、Google上占比最高,英文文档能获得更多自然流量。
  3. 工具链兼容性:如Read the Docs、Sphinx、Docusaurus等主流文档工具,默认对英文支持最完善。

但注意:你的目标读者不一定是母语者。清晰、简洁、可扫描比华丽辞藻更重要。


开源英文文档的核心写作原则

KISS原则(Keep It Simple, Stupid)

  • 用短句:每个句子不超过20个单词。
  • 避免连词成瘾:少用“which”、“that”、“although”引导的从句。
  • 案例对比: ❌ “The function, which when called with incorrect parameters, will likely throw an exception that you should handle appropriately.”
    “Call the function with valid parameters. Otherwise, it throws an exception.”

主动语态 + 现在时

  • 主动语态更直接:“You can install the package using npm.” 而非 “The package can be installed...”
  • 现在时描述持续行为:“The CLI outputs JSON” 而非 “will output”。

一致性优先

  • 术语统一:别一会儿用“parameter”,一会儿用“argument”,大小写**:建议用“Sentence case”(仅首字母大写,如“How to install”)而非“Title Case”(每个词大写,如“How To Install”),前者在搜索引擎结果页(SERP)中更易读。

结构可扫描性

  • 用户不会逐字阅读,而是扫视
    • 、列表、代码块。
    • 关键步骤用加粗或序号列出。
    • 代码示例必须带语法高亮。

七步打造高质量英文文档的实战流程

第一步:确定文档类型

开源文档通常分三类,每类侧重点不同: | 文档类型 | 目标 | 示例 | |---------|------|------| | 入门指南 | 让用户5分钟内跑通一个例子 | “Getting Started with React” | API参考 | 精确描述函数/参数/返回值 | “TitleInputProps” | | 教程/概念解释 | 解释为什么这样设计 | “Understanding State Management” |

第二步:建立术语表(Glossary)

  • 创建glossary.md,列出所有专有名词、缩写及中文对照。
  • API(Application Programming Interface)、CLI(Command-Line Interface)。

第三步:按“倒金字塔”书写内容

每节开头放最重要的信息,再展开细节,参考格式:

  1. 一句话总结:This command installs all dependencies.”
  2. 代码示例(必须可复制运行)
  3. 参数说明(表格形式)
  4. 常见错误提示(FAQ形式)

第四步:使用“问题驱动”的标题是搜索的入口。

  • 不对:“Configuration Section”
  • 对:“How to Customize the Theme Colors”

第五步:写“防出错”的代码示例

  • 总是展示完整代码,而非片段,提供完整的import语句。
  • 标注预期输出:用注释# Output: Hello World
  • 版本标注:如果API在不同版本有差异,用⚠️ Version >= 2.0提醒。

第六步:加入本地化信号

虽然文档用英文,但你可以:

  • 在README中提供文档翻译的贡献指引(“We welcome translations! Create a PR for your language.”)
  • 对复杂概念提供视觉辅助:例如用ASCII图表或Mermaid流程图。

第七步:做一次“英文母语者”的review

即使你英语流利,最好请一位英语母语者或资深技术写手审阅,重点关注:

  • 冠词(a/an/the)是否滥用或缺漏。
  • 介词搭配(如“depend on”而非“depend of”)。

常见陷阱与避坑指南

❌ 陷阱1: 过度使用“Please”和“Thank you”

技术文档应保持中性,避免“Please enter your name”,直接说“Enter your name.”

❌ 陷阱2: 忽略标点符号的国际化

  • 美式英语句点后空格:一个单词后接一个空格(如“Click here. Then wait.”)。
  • 冒号后接空格:Note: the function returns null.

❌ 陷阱3: 用词模糊

  • 坏:“You might want to check the log.”
  • 好:“To debug, check the log at /var/log/error.log.”

❌ 陷阱4: 忽略用户的“时间成本”

  • 在文档开头添加 TL;DR(Too long; didn’t read)段落,让用户30秒内了解核心。
  • “TL;DR: Run npm install and then npm start to see the demo.”

QA:你的文档撰写疑问全解答

Q1:写英文文档时,可以用“you”称呼用户吗?
A:可以,并且推荐,使用“you”比“user”更直接,也能避免性别代词。“You can configure the timeout.”

Q2:如何平衡详细度和简洁性?
A:把详细信息放在代码注释或扩展阅读中,正文只写“如何做”,注释写“为什么这么做”。 “Run npm run build.”
注释:“This command uses Webpack with production mode. Change webpack.config.js to adjust.”

Q3:我的开源项目小众,也要写英文文档吗?
A:至少写一个简明英文README,即便用户用中文搜索,他们也可能通过GitHub等平台发现你的项目——英文README能降低参与门槛,吸引海外贡献者。

Q4:应该用工具的自动翻译功能吗?
A:不推荐直接使用机器翻译,但可以使用DeepL或Grammarly辅助润色语法,再人工校准术语和语气,在README中注明“translated with AI-assisted tools”会更诚实。

Q5:文档被用户提issue说看不懂怎么办?
A:这是改进的机会,根据issue提示,增加以下内容:

  • 更详细的安装步骤(包括失败时怎么办)。
  • 一个完整的、从零开始的示例项目(可放在“examples”文件夹)。
  • 在文档中加入“Troubleshooting”部分。

但不是最后一行)

写开源英文文档,本质上是在用文字建造一座桥梁,连接你的代码与全球开发者,不必追求完美无瑕的语法,但要追求每一步都可执行、每一句都清晰,你可以从一个简单的README开始,加入GitHub Actions自动检查拼写(如spell-checker),然后持续迭代,好文档不是写出来的,是改出来的——而每一次修改,都让开源社区的协作更顺畅一分。

抱歉,评论功能暂时关闭!