七种方法,让代码审查不撕B
Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。
越来越多的软件公司把codereviews作为一种很好地实践,应用在日常的软件开发中。然而一个常被大家忽略的问题是,怎样组织codereviews、怎样进行codereviews,同样可能影响工程师之间的关系。
我认为在一个和谐的code review氛围中,避免抓狂是十分必要的。不可否认,讨论交流时直言不讳的感觉很好(在相当长的一段时间里,我也理所当然的认为人与人的交流就应该这样)。但是在讨论交流时锋芒毕露、直言不讳也会导致付出一些代价。团队之间沟通交流的良好氛围会因为这样拉仇恨而戛然而止。即使是在和谐友善的氛围中,也可能导致友谊的小船说翻就翻,甚至还会影响项目后续的开发效率。
下面这七个方法是我作为一个code reviews的老司机,经多年实践经验总结而来。
#1 保持谦虚低调
哪怕你是你们团队里技术最好的、最优秀的(尤其是你是货真价实的优秀,陈独秀都没你优秀的时候),你也要努力保持虚心的姿态。没有人喜欢自高自大的天才。比如,当你遇到无法解答的问题时,不要掩饰,如实的告诉大家,你也不是万能的:
“我也不太清楚,我们一起再研究一下吧!”
#2 善于听取意见
直接指出别人代码里显而易见的错误(或者是你明显觉得存在问题的代码),不如语气平和地请求他给你讲一下他的思路,比如:
“我不太明白这些代码的功能,你能给我解释一下吗?”
#3 工作不分彼此
在团队里,你应该努力创造一种和谐的氛围,让大伙都认同我们是一个团队。有一个很好的方法来培养这种认同感,就是给大家灌输“我们是一个集体”这样的思想。避免这样的言语出现:“这是张三的”、“这是李四的”、“这是王二麻子的”。取而代之的,多用下面的说法:
“我认为我们可以一起……”
#4不要夸夸其谈
这一点我感到惭愧,我喜欢在人们面前夸夸其谈。当人们已经对你所讲的内容有所了解了,你还在滔滔不绝,这就比较尴尬了。
然而,我在code reviews时已经尽量克制不要长篇大论了。
别人很容易误解你的意思,并且可能会觉得你很烦人。记着,在团队里,你首先要考虑的应该是你和同事之间的融洽关系。
避免出现这样的话:“总是(always)”、“绝不(never)”、“没完没了(endlessly)”,“没毛病(nothing)”
#5 学会问问题,不要提要求
尽量不要说“我们把那个变量命名为‘userName’,因为你之前的命名我们大家看不明白”,你应该这样说:
“你觉得把这个变量命名为‘userName’怎么样呢?当前这个名称容易混淆,因为我在另一个js代码里用到了这个名称。”
#6 避免说脏话
这一点听起来很好做,毕竟,没有谁存心想诋毁同事。然而,有的时候你很自然的就想骂别人“SB”、“傻×”。
有一个很好的方法来避免这种情况:告诉自己每一个人都有自己的优点。大家在工作的时候,都是在想着努力把工作干好。可能在你眼中某些人看起来很傻×,只是因为他没有注意到某个问题,或者是忽略了问题的某个方面。
同样的,换位思考一下,有的时候你也会被别人看做是傻×一样的存在,比如别人已经很好地解决了一个问题,你还在拿你愚蠢的方案跟人家喋喋不休(然而,我是在经历了很多之后,才悟到这一点)。
#7 适时地当面交流(或语音交流)
如果别人提交的comments里面包含了很多“我不明白”、“我们用另一个替代方案吧”这样的说法,那么这个时候最好的办法就是线下交流(译者注:好多公司都是使用协作软件线上进行code reviews的)。
在处理上面这些问题的时候,使用当面交流或者电话交流的方法,能节省不少时间。当面讨论之后,记得把讨论的成果提交给大家共享。
把上面的七点付出实践吧!
我希望上面这几点技巧能够帮助你的团队愉快地一起进行code reviews。你在和同事进行code reviews时有什么好的方法呢?通过Twitter或者email和我交流吧!
英文原文:http://dbader.org/blog/avoiding-aggravation-in-code-reviews?utm_source=mybridge&utm_medium=web&utm_campaign=read_more
译者:bird
- 这七种低热量的蔬菜让女人越吃越瘦
- 洗衣机常年不洗,细菌比马桶还多!教你一个蠢方法,去污还除菌
- 长寿有秘诀,增强免疫力的4大方法、5大食物,许多人不知道!
- 失眠后如何治疗 有哪些方法呢
- 瑜伽理疗篇:剖析骨盆前倾原因以及调理方法
- 电热水壶烧水比塑料还“毒”?教你1个方法,以后可以放心喝水了
- 如何解决你的大象腿?其实用这些跑步方法就能收获好的效果!
- 跑步对减肥的作用大吗?
- 教你一个做包菜的好方法,吃着过瘾,味美下饭,吃了爱不释口
- 腰部减肥绝招,减掉腰部两边赘肉,方法竟这么简单!