获取代码审查¶
彻底的代码审查是 Mozilla 保证代码质量的方法之一。每个补丁都必须由代码的模块所有者或其指定的同行之一进行审查。
提交信息语法¶
提交补丁时,请使用以下语法请求审查。
请求 |
语法 |
描述 |
---|---|---|
单个审查者 |
|
请求单个审查者 ( |
多个审查者 |
|
请求 _同时_ 由 |
阻塞审查 |
|
请求 |
可选和阻塞审查 |
|
请求 |
审查小组 |
|
请求 |
阻塞审查小组 |
|
请求审查小组进行阻塞审查。这将需要 _至少一名_ 小组成员批准才能落地。 |
例如,请求 group-name 或 developer-nickname 小组进行审查的提交语法如下:
Bug xxxx - explain what you are doing and why r?#group-name
or
Bug xxxx - explain what you are doing and why r?developer-nickname
可以在 Phabricator UI 中提交后选择或调整审查和审查小组。
有时在发布补丁时,由于代码被修改,系统会自动添加一些小组作为阻塞审查者。在这种情况下,您可能需要检查您请求审查的审查者是否也设置为阻塞。
选择审查者¶
如果您在修复的 Bug 上分配了导师,则导师通常可以自己进行审查或代表您找到合适的审查者。
如果您没有导师,请查看您的代码是否符合以下审查小组之一,并向该小组请求审查。
否则,尝试查看文件的历史记录以查看最近是谁修改了它。(例如,hg log <modified-file> 或 git log <modified-file>)
最后,如果您仍然无法识别合适的人选,请尝试在 #introduction 频道上 Matrix 中询问。
获得关注¶
通常,大多数审查将在大约一周内完成。但是,如果审查者在一周左右的审查请求后没有回复
直接联系审查者(通过电子邮件或 Matrix)。
加入 Mozilla 的 Matrix 服务器上的开发者,并询问是否有其他人知道审查为何延迟。请同时提供 Bug 链接。
如果审查仍然未得到解决,请直接发送邮件给审查者,询问他们是否有时间审查补丁,或者是否有其他方式可以审查它。
请记住,审查者也是人,他们可能有很多复杂的原因导致他们无法及时审查您的补丁。请放心地联系您的审查者,但在这样做时请注意 Mozilla 社区参与准则。
对于简单的文档更改,不需要审查。
有关审查流程的更多信息,请参阅 代码审查常见问题。
审查小组¶
名称 |
拥有 |
成员 |
---|---|---|
#anchor-positioning-reviewers |
锚点定位 - 相关的样式和布局代码 |
|
#anti-tracking |
||
#build 或 #firefox-build-system-reviewers |
配置和构建系统 |
|
#cookies |
||
#cubeb-reviewers |
cubeb,Gecko 的音频输入/输出库和相关项目(audioipc、cubeb-rs、Rust cubeb 后端) |
|
#desktop-theme-reviewers |
用户界面 CSS |
|
#devtools-reviewers |
Firefox DevTools |
|
#dom-worker-reviewers |
DOM 工作线程 |
|
#dom-storage-reviewers |
DOM 存储 |
|
#fluent-reviewers |
Fluent (FTL) 文件(翻译)。 |
|
#firefox-source-docs-reviewers |
文档文件及其构建 |
|
#firefox-ux-team |
用户体验 (UX) |
|
#firefox-svg-reviewers |
与 SVG 相关的更改 |
|
#frontend-codestyle-reviewers |
ESLint、Prettier 或 Stylelint 配置。 |
|
#android-reviewers |
Fenix、Focus 和 Android 组件。 |
|
#geckoview-reviewers |
GeckoView |
|
#gfx-reviewers |
图形代码 |
|
#intermittent-reviewers |
测试清单更改 |
|
#layout-reviewers |
布局 |
|
#layout-grid-reviewers |
layout/grid |
|
#linter-reviewers |
tools/lint/* |
|
#mac-reviewers |
Mac 特定代码 |
|
#media-playback-reviewers |
||
#mozbase |
Mozbase |
|
#mozbase-rust |
Rust 中的 Mozbase |
|
#necko-reviewers |
网络代码(又名 necko,又名 netwerk) |
|
#nss-reviewers |
网络安全服务 (NSS) |
|
#perftest-reviewers |
性能测试 |
|
#permissions 或 #permissions-reviewers |
||
#places-reviewers |
||
#platform-i18n-reviewers |
平台国际化 |
|
#preferences-reviewers |
桌面版 Firefox 的首选项(选项)用户界面 |
|
#recomp-reviewers 或 #reusable-components-reviewers |
UI 小部件、设计令牌、Storybook |
|
#remote-debugging-reviewers |
远程调试 UI 和工具 |
|
#search-reviewers |
||
#sessionstore 或 #sessionstore-reviewers |
||
#spidermonkey-reviewers |
SpiderMonkey JS/Wasm 引擎 |
|
#static-analysis-reviewers |
静态分析 |
|
#style 或 #firefox-style-system-reviewers |
Firefox 样式系统 (servo、layout/style)。 |
|
#supply-chain-reviewers |
第三方审计和引入 (cargo-vet、supply_chain)。 |
|
#tabbrowser 或 #tabbrowser-reviewers |
||
#theme 或 #desktop-theme-reviewers |
||
#urlbar-reviewers |
||
#view-transitions-reviewers 或 #view-transitions 或 #vt |
视图过渡 (dom/view-transitions,以及相关的样式/布局/图形代码)。 |
|
#webcompat-reviewers |
Web 兼容性团队维护的系统附加组件 |
|
#webdriver-reviewers |
Marionette 和 geckodriver(包括 MozBase Rust),以及带有 WebDriver BiDi 和 CDP 的远程协议。 |
|
#webgpu-reviewers |
WebGPU 代码 |
|
#webidl |
WebIDL |
|
#xpcom-reviewers |
XPCOM |
要创建新的组,请在 Conduit::Administration 中提交新的 Bug。请参考 Bug 1613306 作为示例。