今日英语表达 19/30 · 阶段:接收并回复评审。 所有例句均为本文虚构。并非摘自实际仓库的评论,函数名仅为示例。
目录
概览
| 表达 | Not a blocker, but ... / (non-blocking) |
| 含义 | 虽不阻碍合并,但 ... |
| 使用场景 | 评审评论的开头或结尾、会议 |
| 礼貌程度 | 温和。减轻对方的负担 |
1. 含义与语境
block 意为“阻拦”,blocker 意为“阻碍(工作进展)的事物”。在开发现场,blocker 指“如果这个问题不解决,就无法进入下一步的问题”。常用于发布 blocker、合并 blocker 等。因此,Not a blocker 意为“即使不修改这条意见也可以合并”。
评审评论中往往包含不同分量的意见。必须修复的 Bug、修复了更好的改进,以及单纯的参考信息。如果不对这些进行区分,作者就会把所有评论都当作必须完成的任务,导致 PR 变得无休止地长。因此,Google 的代码评审指南建议在评论前加上 Nit、Optional(或 Consider)、FYI 等前缀来标明分量。Not a blocker 则是起着与这些前缀相同作用的日常表达。
评审人员使用时,通常会 用 but 连接建议。 例如 Not a blocker, but it might be worth ... 这种结构意为“虽然不阻碍,但值得考虑”。当作者使用时,则是问“这是阻碍合并的问题吗?”,从而确认优先级。这个提问并无礼。反而给评审人员提供了明确意图的机会。
2. 例句
情境 1:评审人员的建议
Not a blocker, but it might be worth adding a short comment explaining why we retry three times.
it might be worth -ing 意为“可能值得做某事”,是用来使建议变得温和的常用表达。
情境 2:作为前缀使用时
(non-blocking) This could be simplified with
slices.Contains(), but the current version is fine too.
括号中的 non-blocking 经常用在评审评论的最开头。
情境 3:作者询问优先级时
Thanks for the suggestion! Is this a blocker for this PR, or would you be okay with handling it in a follow-up?
询问是否为 blocker,如果不是,则同时提出了在后续 PR 中处理的替代方案(第 10 篇)。
3. 类似表达与区别
- Optional: ... Google 指南的前缀。意为“这是个好想法,但并非必需”。
- Nit: ... 细微的意见(第 14 篇)。修改了更好,但影响很小。范围比 Not a blocker 更窄。
- This is a must-fix. / Blocking. 与之相反,表示必须修改。当有明确原因(如安全问题或数据丢失风险)时使用。
4. 韩国人常犯的错误
- 评审人员说这是 Not a blocker,但 却当作必须修改的内容,导致 PR 大幅变长。 是否修改可以由作者决定。如果不修改,简短回复即可。
- 修改后的句子:Good idea. I'll leave it for now to keep this PR small.
- Is it blocking? 因为太短,听起来可能有点生硬。
- 修改后的句子:Just to clarify, is this a blocker for merging?
- This is not block. block 既是动词也是名词,但这里用 blocker 或 blocking 更合适。
- 修改后的句子:This is not blocking.
5. 一行练习
请站在评审人员的角度,在评论中写出以下内容。
倒也不是非得阻止合并,不过把这个日志级别降为 debug 怎么样?
参考答案
Not a blocker, but what do you think about lowering this log level to debug?
what do you think about -ing? 是将建议转换为疑问句、把决定权交给作者的表达。使用 Could we lower ...? 也同样自然。
TT 小贴士。 并非所有的意见分量都一样。用一个词附上分量,作者就知道该把精力花在哪里。
参考
- Google Engineering Practices, How to write code review comments(Label comment severity): https://google.github.io/eng-practices/review/reviewer/comments.html
- Merriam-Webster, 「blocker」: https://www.merriam-webster.com/dictionary/blocker