审查拉取请求

Bevy 社区活动非常活跃,审查他人的工作并提出改进意见,是你能做的最有价值的事情之一。

谁可以审查

任何人都可以!

你无需成为 Rustacean 资深人士才能发挥作用:任何人都可以发现遗漏的测试、不明确的文档、逻辑错误等等。如果你拥有特定技能(例如,对不安全代码的深入了解、渲染知识或 Web 开发经验)或对问题的个人经验,请优先考虑这些领域,以确保我们在需要时能获得合适的专业知识。

如果你发现自己不方便审查的 PR,但你能想到合适的人选,请考虑使用 GitHub 的“请求审查”功能(位于 PR 屏幕右上角)将工作提请他们注意。如果他们不是 Bevy 组织成员,你需要在主题中直接 ping 他们:这也是可以的!几乎所有在 Bevy 上工作的人都是志愿者;这应该被视为一种温和的提醒,而不是工作分配。考虑检查 Git 历史以查找合适的审阅者,或者在 Discord 上寻求建议。

如何审查拉取请求

如果你不熟悉 GitHub,官方网站上提供了大量关于 拉取请求审查文档 的信息。如果你对工作满意,并且认为自己有资格在该特定领域评估质量,请在 PR 上留下 Approved 审查。再次强调,任何人都可以并且应该留下审查 - 无需特殊权限!

提供反馈

专注于提供建设性的、可操作的反馈,这些反馈可以真正提高代码质量或最终用户体验。如果你不理解为什么采用了一种方法,请提问!

当有帮助时,提供实际的代码建议。小改动可以以评论或针对特定代码行的内联建议的形式进行。较大的更改应该在主主题中发表评论,或者是对原始作者分支的拉取请求(但请说明你已创建了一个)。当对架构理念存有疑问时,请参考我们的 我们正在努力构建什么 页面以获取指导。

即使你对 PR 的所有领域都没有百分之百的把握,也可以留下批准,但要确保指出你的局限性。当维护人员评估 PR 是否要合并时,他们会确保所有关键领域都得到了良好的覆盖。如果你只能检查数学是否正确,而另一个审阅者可以检查除数学之外的所有内容,我们就可以了!

同样,如果有些领域需要修复,但并不严重,请考虑留下批准。作者可以立即解决这些问题,或者将其分解成后续问题或 PR。大型 PR 对审阅者和作者来说都非常消耗精力,因此尽量推崇更小的范围,并清楚地跟踪后续工作。

请求更改

审查中要求进行额外更改是很常见的,但作为审阅者,尊重作者的时间很重要。

要求作者修复代码中的问题或错误,或要求他们以不同的方式做某事,都是可以接受的。要求额外的文档或测试也是可以的,但当这样做时,最好概述当前版本中缺少的内容。

否则,请尽量避免要求额外工作,除非绝对必要,尤其是当 PR 处于其他方面可接受的状态时。开源代码审查的目的是评估代码本身,而不是告诉作者该怎么做。

处理分歧

随着众多贡献者和审阅者共同构建一个复杂的系统,分歧不可避免地会出现。无论分歧是关于命名、性能还是代码覆盖率,目标都应该是在友好的氛围中达成共识。

  • 牢记范围。推荐对周围区域进行简单的清理是可以的,但不要指望贡献者独自彻底改造 Bevy 的一部分。
  • 不要害怕升级。无论你在审查过程中的哪个环节,如果你觉得有人不讲道理,请不要犹豫,联系其中一位维护人员或在 Discord 的相关开发频道发帖。
  • 并非所有审查评论都会得到解决,这是正常的。你可以随时为进一步讨论打开一个问题。

审查内容

你可以从三个主要地方检查需要审查的内容

  1. bevy 仓库 中,准备就绪并需要更多审查的拉取请求。
  2. bevybevy-website 仓库中的拉取请求。
  3. RFC,需要社区对其设计进行深入思考和输入。

即使是我们的项目负责人和维护人员,也免不了审查和 RFC!通过对这些工作(以及相关的支持工作)提供反馈,你可以帮助我们确保我们的发布既高质量又及时。

最后,如果你最想看到的是所有问题都贴上了标签,所有已解决的问题都已关闭,请随时联系 @alice-i-cecile 或 @cart,获取 Bevy 组织的角色,帮助我们保持整洁。

正如我们在 Bevy 组织 页面中所讨论的那样,这个角色只需要良好的意愿和对我们开发流程的基本了解。

拉取请求如何合并

维护人员在合并拉取请求时遵循以下规则

  1. 琐碎的 PR 可以由一位社区成员(包括维护人员)批准后合并。
  2. 相对无争议的 PR 可以由至少两位拥有适当专业知识的社区成员(包括维护人员)批准后合并。
  3. 有争议的 PR 除非获得项目负责人或两位主题专家(在 PR 所属的“领域”内)的批准,否则不能合并。
  4. 如果两位维护人员已批准有争议的 PR,他们可以通过将其添加到 此队列 中来“启动 PR 的计时器”。如果在 45 天内没有 SME 或项目负责人采取行动(批准、反馈或明确要求推迟),则维护人员可以合并 PR。