把「你怎么写成这样」换成「这里如果换成 X,后面遇到 Y 的情况会不会好处理一些」。另外要区分「必须改」和「我觉得」,我习惯在非阻塞的意见前加一个 nits: 前缀。

提意见尽量说场景而不是下结论。直接说「这命名看不懂」对方容易 defensive;换成「这个变量叫 tmp2,三个月后我对着它得想半天,要不要改成 userCache?」他大概率会改。我自己的代码被这么提过,确实比被怼舒服,也更容易听进去。

阻塞和非阻塞要分开标。影响正确性或安全的,我写清理由要求改;纯风格偏好就加 nits: 前缀,意思是我顺手提一句,不改也行。这样对方知道哪些必须处理,不会被一堆可选意见淹没,评审来回也少很多。

我的评审前缀约定:

  • 无前缀:必须改(带理由)
  • nits: 非阻塞,可忽略
  • 疑问:我没看懂,先确认不是 bug