代码审查清单¶
此清单主要针对审查者,因为它列出了审查补丁时需要检查的重要事项。
它对于补丁作者也很有用:如果更改符合这些指南,则更有可能获得审查批准。
Bug 状态和补丁文件¶
Bug 状态已分配,且指派人已正确设置。
提交标题和消息遵循 约定。
提交消息说明 更改内容以及更改原因。
补丁可以应用到当前源代码的本地版本,无需合并。
检查补丁引入的每个新文件是否都具有正确的 Mozilla 许可证标头:https://www.mozilla.org/en-US/MPL/headers/
手动测试¶
验证
如果这是一个新功能,则补丁已实现该功能。
如果这是一个修复,则补丁已修复它所解决的 bug。
在全局审查评论中报告您发现的任何问题。
确定这些问题中的任何一个是否应该阻止更改的落地,或者是否可以作为后续的 bug 提交,以便稍后修复。
自动化测试¶
运行新/修改后的测试,启用和禁用 e10s。
注意通过但记录异常或在处理协议请求之前结束的测试。
注意缓慢/长时间的测试:建议使用许多小的测试而不是单个长时间的测试。
注意以集成测试而不是单元测试形式编写的新的测试:如果可能,单元测试应该是首选选项。
代码审查¶
代码更改
仅审查贡献者更改的内容。
代码格式遵循 我们的 ESLint 规则 和 编码标准。
代码已正确注释,JSDoc 已更新,所有新的“公共”方法都具有 JSDoc,请参阅 注释指南。
如果添加/修改了 Promise 代码,则使用正确的 promise 语法并处理拒绝。请参阅 异步代码。
如果添加/修改了 CSS 文件,则它遵循 CSS 指南。
如果添加/修改了 React 或 Redux 模块,则它遵循 React/Redux 指南。
如果添加/修改了应在 worker 中运行的 DevTools 服务器代码,则它不应使用服务
测试更改
该功能或 bug 已 通过新的测试或修改现有的测试进行测试。
测试日志 足以帮助调查测试失败/超时。
测试符合 e10s(不会尝试从父进程访问 Web 内容等)。
测试 简洁易维护。
已开始尝试推送(或者更好的是,已经变为绿色)。
用户界面更改
完成审查¶
R+:代码应尽快落地。
R+ 附带评论:有一些评论,但它们都很小,或者在解决后不需要重新审查,请信任作者。
R 取消 / R- / F+:代码存在问题,需要重新审查。