代码审查流程¶
所有提交到 Twisted 主干的代码都必须遵循此审查流程。
作者和审阅者都应该熟悉本页面的所有要求。
贡献者/PR 作者的简短说明
首先创建一个 GitHub 问题,描述问题或更改所需的原因。
遵循我们的编码规范并实施必要的更改
创建一个 GitHub 拉取请求,将更改合并到主干中
确保所有 PR 检查都为绿色,并且更改已准备好进行审查。
在 PR 上留下明确的评论,其中包含“请审查”文本。您可以使用“草稿 PR”,但一旦准备好,请留下明确的评论请求审查。这将触发审查流程,并向所需的团队发送通知。
等待审查,或尝试通过 IRC、邮件列表或 Gitter 找到审查
与审阅者进行对话,以获得更改的批准。
一旦 PR 中的更改获得批准,就可以合并 PR。
审阅者:如何审查更改¶
熟悉 Twisted 代码库、编码规范和这些审查要求。
不要成为更改的作者。审查自己的代码毫无意义,我们假设在将代码推送到公共 PR 之前,您已经完成了第一轮自我审查。
确保所有检查都为**绿色**!
注意任何不可靠/不稳定的测试都应该创建一个单独的问题。
审查更改,并写下关于分支的所有潜在改进的详细评论(请参阅下面的 [#Howtobeagoodreviewer])。
使用 GitHub 审查 UI 批准或请求对 PR 进行更改。
如果作者没有提交权限,请为他们合并更改或添加“需要合并”标签。
谁可以审查 PR?¶
更改必须由除更改作者以外的开发人员进行审查。如果更改是成对进行的,则必须由第三方进行审查。如果更改构成几个独立工作的人员的工作,则必须由非作者进行审查。
审阅者不一定必须熟悉正在更改的 Twisted 的特定区域,但他们应该对自己发现更改中的问题的能力充满信心。
Twisted 提交者可以审查任何人的 PR;由其他提交者提交的 PR 或由非提交者贡献者提交的 PR。如果非提交者贡献者提交了一个可以接受合并的 PR,则提交者有责任提交和合并 PR。当提交者审查 PR 时,如果审查中存在任何问题,他们将负责。
非提交者贡献者可以审查提交者提交的 PR。当非提交者进行通过审查时,提交者可以接受它并完成他们的更改,但他们将负责审查的充分性。因此,如果非提交者进行的审查您认为可能不完整,请将其放回审查中并解释他们可能错过了什么 - 这种审查审查对于确保更多人学习如何进行良好的审查非常重要!
如何成为一名优秀的审阅者¶
首先,确保所有明显的事项都已考虑在内。检查上面的“您的分支或补丁必须包含的内容”列表,并确保每个要点都适用于该分支。
审阅者可能出于各种原因拒绝更改,其中许多原因难以量化。请使用您的最佳判断,不要害怕指出不符合本文档中列出的分支要求列表的问题。
以下是一些在审阅更改时需要考虑的额外事项
代码是否以直观的方式编写,以便将来可以轻松维护,可能是由作者以外的开发人员维护?
如果它引入了新功能,该功能是否普遍有用,并且已经考虑并考虑了其长期影响?* 它会让应用程序开发人员感到困惑吗?* 它是否鼓励使用它的应用程序代码具有良好的结构并易于测试?* 它是否类似于 Twisted 提供的任何现有功能,因此它可能作为其他代码片段的扩展或修改更有意义,而不是一个全新的功能单元?
它是否需要新的文档和示例?
完成审阅后,请务必说明下一步应该是什么:例如,如果作者是提交者,他们是否可以在进行一些小修改后提交?如果您的审阅反馈更实质性,他们是否应该重新提交以进行另一次审阅?
如果您正式“进行审阅”,请确保您进行完整的审阅并查找“所有”这些内容,以便作者在他们的票证处于审阅状态时获得尽可能多的反馈。如果您没有时间进行完整的审阅,并且您只注意到票证中的一两件事,只需发表评论以帮助未来的审阅者,并且不要删除审阅关键字,以便其他审阅者可以查看。例如,说,“我刚检查了新闻文件,发现没有”,或者,“我在这些方法中看到了一些尾随空格”。如果您从审阅队列中删除 PR,您可能会大大增加作者必须等待真正全面审阅的时间,这非常令人沮丧。