在 Code Review 时经常会发生以下情况让程序员心烦:
-
自己代码写的很好,但是 Code Reviewer 鸡蛋里挑骨头,无尽刁难
-
无意义的争论。比如花一两个小时和并不如自己精通技术的 Code Reviewer 争论是否要使用隐式类型
-
有些 Code Reviewer 根本不懂技术还居高临下,比如他们会说:“我闭着眼睛写的算法也能比你的高效。”
在这样的环境中,Code Review 渐渐演变得像是政治游戏里的对抗性活动,严重影响工作心情。那么这时我们该怎么做呢?
Code Review的初衷是什么?
在给出建议之前,我们先来了解一下 Code Review 的初衷是什么:
一个良好的 Code Review 过程有助于代码质量
,有助于开发人员学习。
但也不乏会遇到一些恼人的Code Reviewer,在你什么都做完了之后才告诉你,你提交的程序中有些地方让他不爽,而且理由还特别 personal。遇到这样的 Code Reviewer,我们该如何从容应对呢?
如何应对Code Reviewer?
在遇到 Code Reviewer 提出意见时,思考以下两个问题:
如果回答是 yes,那么,认真改进自己。
如果 Code Reviewer 在 Review 过程中做了一些让你不舒服的事情,比如:
如果你写的程序已经很完美没有太大的改进空间了,Code Reviewer 却因为你的代码风格而不断的唠叨;又或者你已经根据之前他们的反馈作出改进了,但他们不断的提出新的问题来“刁难”你,这时该怎么办?
直接点,告诉他们:
我可以接受你对我的建议,但是你的表达方式很让人不舒服,希望你一次把问题说清,不要再这样了。
他们对此可能会有两种反应:
如果发生了第二种情况,那么你就该采取点措施了。
关于采取什么措施,提供以下几点建议:
注意,采取措施时,如果没到万不得已的地步,理由最好不要是“和 Code Reviewer 处不来”。
你可以说,是因为对新项目感兴趣等。
如果你的管理人员够精明,他们会理解你真正的想法。一般管理人员都会支持你的做法,因为用这种方式解决,是员工为自己的问题提出解决方案,而不再需要让他们想办法为你解决问题。
而当发生你与Code Reviewer争论这种情况时,很多人都会找管理请求解决,这不是一个好主意。因为通常,管理人员也不懂技术,他们会因为要和你讨论一些技术问题而感到头疼。而且,管理人员和 Code Reviewer 处于相互依存的关系,所以当你向他们提出这个问题之后,他们一般只会对你表示同情。所以当年你与 Code Reviewer 争论时最好不要把管理人员加入进来。
♦♦♦♦♦
终极变态方案
让 Code Reviewer 觉得“你”更烦
这是一种比较消极的处理方式,但是到你被逼到万不得已的时候,可以考虑使用。只是,你可能多少需要担心以后在团队的人际关系问题。
-
Code Reviewer 大声?我也大声!
-
Code Reviewer 是错的!我是对的!
如果 Code Reviewer 大声指责你的错误,那你也大声和他争论:
这种性格的 Code Reviewer 很讨厌这种类型的对话, 所以不要给他们觉得自己是对的机会。大声指出,因为他们是 Code Reviewer ,你才不得不听他们的。
还有一种,就是
“找他们的错”
,研究他们所有的要求,他们所有的代码,以及他们提出的方法。然后努力学习,找他们的错误,等到 Code Review 时,用这些怼他们,尽可能的证明这个人说的话都是错的,让他尴尬。
当他们在你身上体会不到权利的满足感之后,他们可能就不太想刁难你了。
-
回复“简历”,查看简历撰写指南,获取“简历模板”
-
回复“冷冻期”,查看北美各大IT企业冷冻期信息和注意事项
-
回复“Career”, 查看Caireer Fair 攻略 check list
-
回复“薪资”,查看北美各大IT企业New Grades Engineer 薪资水平;
-
回复“项目”,查看7-14天可以搞定的小项目推荐
-
回复“评分”,查看系统设计评分指南
-
回复“behavior”,查看behavior interview指南
-
回复“晋升”,查看Engineer晋升机制