感谢您为 Bazel 的文档做出贡献。本文档可作为快速入门的文档样式指南。如果本指南未解答您在样式方面的任何疑问,请遵循 Google 开发者文档样式指南。
定义原则
Bazel 文档应遵循以下原则:
- 简洁明了。尽可能使用最少的字词。
- 清晰。使用简洁明了的语言。使用五年级学生能理解的语言,避免使用专业术语。
- 一致。在整个文档中,针对重复的概念使用相同的字词或短语。
- 回答正确。避免使用基于时间的信息和未来承诺,以尽可能长时间保持内容正确无误。
写作
本部分包含基本的写作提示。
标题
- 页面级标题从 H2 开始。(H1 标题用作网页标题。)
尽可能缩短标题。这样,它们就可以在目录中显示,而不会换行。
- 是:权限
- 否:权限简要说明
标题采用句首字母大写形式
- 是:设置工作区
- 否:设置工作区
尝试使标题基于任务或可操作。如果标题是概念性的,则可能基于理解,但应根据用户行为来撰写。
- 正确示例:保留图表顺序
- 否:关于保留图顺序
名称
将专有名词(例如 Bazel 和 Starlark)的首字母大写。
- 是:在构建结束时,Bazel 会输出所请求的目标。
- 否:在 build 结束时,bazel 会输出所请求的目标。
请保持转化价值类型的一致性。不要为现有概念引入新名称。如果适用,请使用术语库中定义的术语。
- 例如,如果您要撰写有关在终端上发出命令的内容,请勿在同一页面上同时使用“终端”和“命令行”。
网页范围
每个网页都应有一个用途,并且应在开头定义该用途。这有助于读者更快地找到所需内容。
- 是:本页面介绍了如何在 Windows 上安装 Bazel。
- 否:(无介绍性句子。)
在页面末尾,告诉读者接下来该怎么做。对于没有明确操作的网页,您可以添加指向类似概念、示例或其他探索途径的链接。
主题
在 Bazel 文档中,受众群体主要应该是用户,即使用 Bazel 构建软件的人员。
将读者称为“你”。(如果出于某种原因,您无法使用“您”,请使用中性语言,例如“他们”。)
- 是:如需使用 Bazel 构建 Java 代码,您必须安装 JDK。
- 可能:用户必须安装 JDK 才能使用 Bazel 构建 Java 代码。
- 否:用户必须安装 JDK 才能使用 Bazel 构建 Java 代码。
如果您的受众群体不是普通的 Bazel 用户,请在页面或部分的开头定义受众群体。其他受众群体可以包括维护者、贡献者、迁移者或其他角色。
避免使用“我们”。用户文档中没有作者;只需告诉用户可以做什么。
- 是:随着 Bazel 的发展,您应更新代码库以保持兼容性。
- 否:Bazel 在不断发展,我们会对 Bazel 进行一些更改,这些更改有时会不兼容,需要 Bazel 用户进行一些更改。
Temporal
请尽可能避免使用时间导向性字词,例如提及具体日期(2022 年第 2 季度)或使用“现在”“目前”或“很快”等字词。这些数据很快就会过时,如果是未来预测,则可能不正确。请改为指定版本级别,例如“Bazel X.x 及更高版本支持 <功能>”或 GitHub 问题链接。
- 是:Bazel 0.10.0 或更高版本支持远程缓存。
- 否:Bazel 即将支持远程缓存,可能在 2017 年 10 月。
时态
使用现在时。除非为了清晰起见而绝对必要,否则请避免使用过去时态或将来时态。
- 是:如果 Bazel 发现不符合此规则的依赖项,就会发出错误。
- 否:如果 Bazel 发现不符合此规则的依赖项,则会发出错误。
尽可能使用主动语态(主语对宾语执行动作),而不是被动语态(宾语受主语执行的动作影响)。一般来说,主动语态可让句子更清晰,因为它会显示责任方。如果使用主动语态会影响清晰度,请使用被动语态。
- 是:Bazel 会启动 X 并使用输出构建 Y。
- 否:X 由 Bazel 启动,然后使用输出结果构建 Y。
语气
以适合商务的语气撰写。
避免使用口语。很难翻译英语特有的短语。
- 是:良好的规则集
- 否:那么,什么是好的规则集?
避免使用过于正式的语言。以向对技术好奇但不太了解细节的人解释概念的方式撰写。
格式设置
文件类型
为了便于阅读,请在 80 个字符处换行。长链接或代码段可能会更长,但应从新行开始。例如:
链接
请使用描述性链接文字,而不是“此处”或“下方”。这种做法可让您更轻松地浏览文档,并且更适合屏幕阅读器。
- 是:如需了解详情,请参阅 [安装 Bazel]。
- 否:如需了解详情,请参阅 [此处]。
尽可能在句末添加链接。
- 是:如需了解详情,请参阅 [链接]。
- 否:如需了解详情,请参阅 [链接]。
列表
- 使用有序列表描述如何通过步骤完成任务
- 使用无序列表列出非基于任务的内容。(仍应按某种顺序排列,例如按字母顺序、重要性等)
- 使用平行结构进行写作。例如:
- 将所有列表项都改为句子。
- 先从时态相同的动词开始。
- 如果有需要遵循的步骤,请使用有序列表。
占位符
使用尖括号表示用户应更改的变量。 在 Markdown 中,使用反斜杠转义尖括号:
\<example\>
。- 是:
bazel help <command>
:打印<command>
的帮助和选项 - 否:bazel help command:输出“command”的帮助信息和选项
- 是:
对于复杂的代码示例,请使用在上下文中具有实际意义的占位符。
目录
使用网站支持的自动生成的目录。请勿添加手动目录。
代码
代码示例是开发者的好帮手。您可能已经知道如何撰写这些内容,但我们还是提供了一些提示。
如果您要引用一小段代码,可以将其嵌入句子中。 如果您希望读者使用代码(例如复制命令),请使用代码块。
代码块
- 内容要简短直接。从代码示例中移除所有冗余或不必要的文本。
- 在 Markdown 中,通过添加示例的语言来指定代码块的类型。
```shell
...
- 将命令和输出分别放入不同的代码块中。
内嵌代码格式设置
- 使用代码样式来表示文件名、目录、路径和少量代码。
- 请使用内嵌代码样式,而不是斜体、“引号”或粗体。
- 是:
bazel help <command>
:打印<command>
的帮助和选项 - 否:bazel help command:输出“command”的帮助信息和选项
- 是: