设计评审指南

请确保在适用时遵循以下指南。

V8 设计评审正式化的原因有很多

  1. 让个人贡献者 (IC) 清楚地了解决策者是谁,并突出显示在项目因技术分歧而无法推进的情况下前进的路径
  2. 创建一个论坛进行直接的设计讨论
  3. 确保 V8 技术主管 (TL) 了解所有重大更改,并有机会在技术主管 (TL) 层面上提供意见
  4. 增加全球所有 V8 贡献者的参与度

摘要 #

V8 设计评审指南一览

重要

  1. 假设良好的意图
  2. 友善文明
  3. 务实

拟议的解决方案基于以下假设/支柱

  1. 拟议的工作流程将个人贡献者 (IC) 放在首位。他们负责促进流程。
  2. 他们的指导 TL 负责帮助他们导航领域并找到合适的 LGTM 提供者。
  3. 如果一个特性没有争议,则几乎不会产生任何开销。
  4. 如果有很大争议,该特性可以“升级”到 V8 Eng Review Owners 会议,在那里决定下一步行动。

角色 #

个人贡献者 (IC) #

LGTM:N/A
此人为该特性的创建者,也是设计文档的创建者。

IC 的技术主管 (TL) #

LGTM:必须有
此人为给定项目或组件的 TL。很可能此人是你特性将要触及的主要组件的拥有者。如果不清楚谁是 TL,请通过 [email protected] 咨询 V8 Eng Review Owners。TL 负责在适当的情况下将更多人添加到所需 LGTM 列表中。

LGTM 提供者 #

LGTM:必须有
此人需要提供 LGTM。他可能是 IC,也可能是 TL(M)。

文档的“随机”审阅者 (RRotD) #

LGTM:不需要
此人只是简单地审阅和评论提案。应考虑他们的意见,但不需要他们的 LGTM。

V8 Eng Review Owners #

LGTM:不需要
卡住的提案可以通过 [email protected] 升级到 V8 Eng Review Owners。此类升级的潜在用例

V8 Eng Review Owners 可以推翻非 LGTM 或 LGTM。

详细工作流程 #

V8 设计评审指南一览
  1. 开始:IC 决定开发一个特性/获得分配给他们的特性
  2. IC 将他们的早期设计文档/解释器/一页纸发送给一些 RRotD
    1. 原型被视为“设计文档”的一部分
  3. IC 将人员添加到 LGTM 提供者列表中,IC 认为这些人应该提供他们的 LGTM。TL 必须在 LGTM 提供者列表中。
  4. IC 结合反馈。
  5. TL 将更多人添加到 LGTM 提供者列表中。
  6. IC 将早期设计文档/解释器/一页纸发送到 [email protected]
  7. IC 收集 LGTM。TL 帮助他们。
    1. LGTM 提供者审阅文档,添加评论,并在文档开头给出 LGTM 或非 LGTM。如果他们添加了非 LGTM,他们有义务列出原因。
    2. 可选:LGTM 提供者可以从 LGTM 提供者列表中删除自己,或建议其他 LGTM 提供者
    3. IC 和 TL 共同努力解决未解决的问题。
    4. 如果所有 LGTM 都已收集,请发送电子邮件到 [email protected](例如,通过 ping 原线程)并宣布实施。
  8. 可选:如果 IC 和 TL 被阻塞,或希望进行更广泛的讨论,他们可以将问题升级到 V8 Eng Review Owners。
    1. IC 发送邮件到 [email protected]
      1. TL 在 CC 中
      2. 邮件中包含设计文档的链接
    2. 每个 V8 Eng Review Owners 成员都有义务审阅文档,并可以选择将自己添加到 LGTM 提供者列表中。
    3. 决定下一步行动以解除该特性的阻塞。
    4. 如果阻塞器之后没有解决,或者发现了新的、无法解决的阻塞器,请转到 8。
  9. 可选:如果在特性已获批准后添加了“非 LGTM”,则应将其视为正常的、未解决的问题。
    1. IC 和 TL 共同努力解决未解决的问题。
  10. 结束:IC 继续开发该特性。

永远记住

  1. 假设良好的意图
  2. 友善文明
  3. 务实

常见问题解答 #

如何决定该特性是否值得拥有设计文档? #

设计文档适用的情况

如有疑问,请咨询 TL。

如何决定将谁添加到 LGTM 提供者列表中? #

将人员添加到 LGTM 提供者列表中的情况

谁是“我的”TL? #

很可能此人是你特性将要触及的主要组件的拥有者。如果不清楚谁是 TL,请通过 [email protected] 咨询 V8 Eng Review Owners。

在哪里可以找到设计文档模板? #

这里.

如果发生重大更改怎么办? #

确保你仍然拥有 LGTM,例如,通过 ping LGTM 提供者,并提供明确的、合理的截止日期以行使否决权。

LGTM 提供者没有评论我的文档,我该怎么办? #

在这种情况下,你可以按照以下升级路径进行

有人将我添加为文档的 LGTM 提供者,我该怎么办? #

V8 旨在使决策更加透明,升级更加直接。如果你认为设计足够好,应该执行,请在你的姓名旁边的表格单元格中添加“LGTM”。

如果你有阻止性的问题或意见,请在你的姓名旁边的表格单元格中添加“非 LGTM,因为 <原因>”。准备好接受另一轮审查。

V8 设计评审指南补充了 V8 的 Blink Intent+Errata 流程。如果你要发布新的 WebAssembly 或 JavaScript 语言特性,请遵循 V8 的 Blink Intent+Errata 流程和 V8 设计评审指南。在发送实施意向时,收集所有 LGTM 可能是有意义的。