Bazel 文档样式指南

7.3 · 7.2 · 7.1 · 7.0 · 6.5

感谢您为 Bazel 文档做出贡献。这是一份可帮助您快速入门的文档样式指南。对于本指南未解答的任何样式问题,请参阅 Google 开发者文档样式指南

定义原则

Bazel 文档应遵循以下原则:

  • 简洁。使用尽可能少的字词。
  • 已清除。使用通俗易懂的语言。使用简单易懂的语言,使其适合五年级学生的阅读水平。
  • 一致。在整个文档中,对于重复的概念,请使用相同的字词或词组。
  • 正确。撰写内容时,请避免使用基于时间的信息和对未来的承诺,从而尽可能确保内容正确。

写作

本部分包含基本写作技巧。

标题

  • 页面级标题从 H2 开始。(H1 标题用作网页标题)。
  • 尽可能简短地设置标题。这样,它们就可以放入目录中,而无需换行。

    • :权限
    • :简要说明权限
  • 将句首字母大写作为标题

    • :已设置工作区
    • :设置工作区
  • 尽量让标题与任务相关或具有实用价值。如果标题是概念性的,则可以基于理解而撰写,但应描述用户的行为。

    • :保留图表顺序
    • :关于图表顺序的保留

名称

  • 将专有名词(例如 Bazel 和 Starlark)的首字母大写。

    • :在构建结束时,Bazel 会输出请求的目标。
    • :在构建结束时,Bazel 会输出请求的目标。
  • 请保持转化价值类型的一致性。不要为现有概念引入新名称。请使用术语表中定义的术语(如果适用)。

    • 例如,如果您要介绍如何在终端上发出命令,请勿在同一页面上同时使用“终端”和“命令行”字样。

页面范围

  • 每个页面都应该有一个用途,并且应在开头指定。这有助于读者更快地找到所需内容。

    • :本页介绍了如何在 Windows 上安装 Bazel。
    • :(没有介绍性语句。)
  • 在页面底部,告诉读者接下来该怎么做。对于没有明确操作的网页,您可以添加指向类似概念、示例或其他探索途径的链接。

主题

在 Bazel 文档中,目标对象应主要是用户,即使用 Bazel 构建软件的人。

  • 将读者称为“您”。(如果您因某种原因无法使用“您”,请使用中性语言,例如“他们”。)

    • :要使用 Bazel 构建 Java 代码,您必须安装 JDK。
    • MAYBE:要使用 Bazel 构建 Java 代码,用户必须安装 JDK。
    • :要使用 Bazel 构建 Java 代码,用户必须安装 JDK。
  • 如果您的受众群体不是一般 Bazel 用户,请在页面开头或相应部分定义受众群体。其他受众群体可以包括维护者、贡献者、迁移者或其他角色。

  • 避免使用“我们”。用户文档中没有作者;您只告诉用户可能会发生什么。

    • 需要:随着 Bazel 的发展,您应该更新代码库以保持兼容性。
    • 不能:Bazel 正在发展中,我们将对 Bazel 做出一些更改,这些更改有时将不兼容,并且需要 Bazel 用户进行一些更改。

时间

请尽可能避免使用用于指明时间的字词,例如提及具体日期(2022 年第 2 季度)或说“现在”“目前”或“很快”。这些数据会很快过时,如果是未来的预测数据,则可能不正确。请改为指定版本级别,例如“Bazel X.x 及更高版本支持 <feature>”或 GitHub 问题链接。

  • :Bazel 0.10.0 或更高版本支持远程缓存。
  • :Bazel 即将支持远程缓存,预计会在 2017 年 10 月推出。

时态

  • 使用现在时。除非绝对必要,否则请避免使用过去时或将来时。

    • :如果 Bazel 发现不符合此规则的依赖项,则会发出错误。
    • :如果 Bazel 发现了不符合此规则的依赖项,则 Bazel 会发出错误。
  • 尽可能使用主动语态(主语对物体做出动作)而不是被动语态(主语对物体做出动作)。通常,主动语态可让句子更清晰,因为它表明了谁是负责人员。如果使用主动语态会降低清晰度,请改用被动语态。

    • :Bazel 启动 X 并使用输出构建 Y。
    • :X 由 Bazel 发起,然后使用输出构建 Y。

语气

以商务友好的语气撰写。

  • 避免使用口语化的语言。翻译特定于英语的短语更难。

    • :规则集良好
    • :什么是好的规则集?
  • 避免使用过于正式的语言。在撰写文案时,假装是在向对技术好奇的人解释概念,但不了解细节。

格式设置

文件类型

为确保可读性,请在 80 个字符处换行。长链接或代码段可以更长,但应从新行开始。例如:

  • 使用描述性链接文字,而不是“此处”或“下方”。这样做有助于更轻松地浏览文档,也更适合屏幕阅读器。

    • :如需了解详情,请参阅 [安装 Bazel]。
    • :如需了解详情,请参阅[此处]。
  • 如果可能,请在句子的结尾加上链接。

    • :如需了解详情,请参阅 [link]。
    • :如需了解详情,请参阅 [link]。

列表

  • 使用有序列表描述如何通过步骤完成任务
  • 使用无序列表列出非任务性内容。(仍应采用一种排序顺序,例如按字母顺序、重要性等)。
  • 采用并行结构进行编写。例如:
    1. 让所有列表项成为句子。
    2. 从具有相同时态的动词开始。
    3. 如果还要遵循相应步骤,请使用有序列表。

占位符

  • 使用尖括号表示用户应更改的变量。 在 Markdown 中,使用反斜杠对尖括号进行转义:\<example\>

    • bazel help <command>:打印 <command> 的帮助和选项
    • :bazel help command:输出“command”的帮助和选项
  • 对于复杂的代码示例,请使用在上下文中有意义的占位符。

目录

使用网站支持的自动生成目录。请勿添加手动目录。

代码

代码示例是开发者的得力助手。您可能已经知道如何编写这些代码,以下是几条提示。

如果您要引用一小段代码,可以将其嵌入到句子中。如果您希望读者使用代码(例如复制命令),请使用代码块。

代码块

  • 内容要简短。从代码示例中消除所有多余或不必要的文字。
  • 在 Markdown 中,通过添加示例的语言来指定代码块的类型。
```shell
...
  • 将命令和输出拆分到不同的代码块中。

内嵌代码格式

  • 对文件名、目录、路径和少量代码使用代码样式。
  • 使用内嵌代码样式,而不要使用斜体、“引号”或bolding
    • bazel help <command>:输出 <command> 的帮助和选项
    • :bazel help command:输出“command”的帮助和选项