Code Reviewer 太烦人?如何与之斗智斗勇

编译 | April & Emma
专栏 | 九章算法


在 Code Review 时经常会发生以下情况让程序员心烦:

  • 自己代码写的很好,但是 Code Reviewer 鸡蛋里挑骨头,无尽刁难
  • 无意义的争论。比如花一两个小时和并不如自己精通技术的 Code Reviewer 争论是否要使用隐式类型
  • 有些 Code Reviewer 根本不懂技术还居高临下,比如他们会说:“我闭着眼睛写的算法也能比你的高效。”

在这样的环境中,Code Review 渐渐演变得像是政治游戏里的对抗性活动,严重影响工作心情。那么这时我们该怎么做呢?


1.Code Review的初衷是什么?

在给出建议之前,我们先来了解一下 Code Review 的初衷是什么:

  • 发现程序的缺陷并找到更好的解决方案
  • 帮助团队成员统一编程风格,提高编程技能,促进知识共享
  • 激励开发人员提交更优质的代码

一个良好的 Code Review 过程有助于代码质量,有助于开发人员学习。但也不乏会遇到一些恼人的Code Reviewer,在你什么都做完了之后才告诉你,你提交的程序中有些地方让他不爽,而且理由还特别 personal。遇到这样的 Code Reviewer,我们该如何从容应对呢?

v2-6c6d30a66396d62f800ee2e38fe8ae7d_b.gif


2.如何应对Code Reviewer?

(1)审视自己,提高自己

在遇到 Code Reviewer 提出意见时,思考以下两个问题:

  • 他的反馈真的有帮助吗?
  • 自己有没有改进空间?

如果回答是 yes,那么,认真改进自己。

如果 Code Reviewer 在 Review 过程中做了一些让你不舒服的事情,比如:

  • 居高临下或是嘲笑你。建议忍受一下,因为在任何地方工作都会接触到一些令人讨厌的人,你要做的就是提高自己。
  • 吹毛求疵。比如,code reviewer 说你注释第一个单词应该大写开头,但你觉得这种事情无所谓,是 Code Reviewer 在吹毛求疵,没事找事。但是以后你会发现,从整个项目、整个 Repo 乃至整个公司的角度看代码,这个小细节就会成为一个问题。

(2)直截了当地提出你的反馈

如果你写的程序已经很完美没有太大的改进空间了,Code Reviewer 却因为你的代码风格而不断的唠叨;又或者你已经根据之前他们的反馈作出改进了,但他们不断的提出新的问题来“刁难”你,这时该怎么办?

直接点,告诉他们:我可以接受你对我的建议,但是你的表达方式很让人不舒服,希望你一次把问题说清,不要再这样了。

他们对此可能会有两种反应:

  • 他们可能会接受你的反馈,然后改变自己的行为如果是这样,那么问题就解决了,即使有时候可能过程不是那么的完美。
  • 如果他们不接受你的反馈,甚至说出:“做一个 nice 的人不在我的工作范围内。”那么这些代码审查者大概潜意识下觉得自己是 Gregory House 或 Linus Torvalds,即使他们没有半点成就。

如果发生了第二种情况,那么你就该采取点措施了。

(3)远离烦人的 code reviewer

关于采取什么措施,提供以下几点建议:

  • 找双方都尊重的开发人员来决策
  • 重新从事一个不同的项目,不跟他在一个团队
  • 如果当前项目的不同部分由不同的人审查,可以选择从事当前项目的不同部分
  • 要求换人进行 Code Review

注意,采取措施时,如果没到万不得已的地步,理由最好不要是“和 Code Reviewer 处不来”。你可以说,是因为对新项目感兴趣等。

如果你的管理人员够精明,他们会理解你真正的想法。一般管理人员都会支持你的做法,因为用这种方式解决,是员工为自己的问题提出解决方案,而不再需要让他们想办法为你解决问题。

而当发生你与Code Reviewer争论这种情况时,很多人都会找管理请求解决,这不是一个好主意。因为通常,管理人员也不懂技术,他们会因为要和你讨论一些技术问题而感到头疼。而且,管理人员和 Code Reviewer 处于相互依存的关系,所以当你向他们提出这个问题之后,他们一般只会对你表示同情。所以当年你与 Code Reviewer 争论时最好不要把管理人员加入进来。


3.终极变态方案

让 Code Reviewer 觉得“你”更烦

这是一种比较消极的处理方式,但是到你被逼到万不得已的时候,可以考虑使用。只是,你可能多少需要担心以后在团队的人际关系问题。

  • Code Reviewer 大声?我也大声!
  • Code Reviewer 是错的!我是对的!

如果 Code Reviewer 大声指责你的错误,那你也大声和他争论:

v2-58dfae6537ac2d4612511547fce04692_b.jpg

这种性格的 Code Reviewer 很讨厌这种类型的对话, 所以不要给他们觉得自己是对的机会。大声指出,因为他们是 Code Reviewer ,你才不得不听他们的。

还有一种,就是“找他们的错”,研究他们所有的要求,他们所有的代码,以及他们提出的方法。然后努力学习,找他们的错误,等到 Code Review 时,用这些怼他们,尽可能的证明这个人说的话都是错的,让他尴尬。

当他们在你身上体会不到权利的满足感之后,他们可能就不太想刁难你了。


推荐阅读

调戏谷歌翻译 App

过往的愚人节, 谷歌都是怎么捉弄用户的?

在Google工作的缺点


欢迎关注我的微信公众号:九章算法(ninechapter)。

精英程序员交流社区,定期发布面试题、面试技巧、求职信息等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值