极客视点
极客时间编辑部
极客时间编辑部
113240 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/03:53
登录|注册

如何做一个令人尊敬的代码评审人员?

讲述:子阳大小:1.78M时长:03:53
作为开源项目的积极贡献者,大卫·洛依德(David Lloyd)发现处理代码评审问题是一件很浪费时间的事情,特别是当代码评审带有负面、主观或争论性的东西时。当项目维护者不喜欢贡献者提交的代码,经常会出现这种情况。在最好的情况下,这种代码评审策略会导致无意义的争论。在最坏的情况下,它会阻碍项目贡献,形成一个充满敌意和精英主义的文化。
代码评审应该是客观和简洁的,并尽可能面向确定性。代码评审不是关于政治或情感上的争论,而是一个技术问题。代码评审的目标应该是不断进取,提升项目及其参与者的水平。提交的代码应该根据代码的优点而不是对提交者的意见来评判。大卫列出一些代码评审策略,供开发者参考。
1. 把拒绝变成问问题
把“如果你这样改,就不可能实现……”改变为“如果你这样改,那该怎么实现……”
2. 避免夸大其词
简单一点,把你的顾虑和问题说出来,这样有助于你获得期望的结果。举个例子:
糟糕的评审会说:“这个变更对性能影响很大。”
好的评审会说:“这样改的话性能会比之前低一些,你有做过测试吗?”
更好的评审会说:“我会准备一些数据来验证一下这样改之后速度不会比之前慢。”或者:“这个变更把之前的 n 变成了 n2,不会影响性能吗?”
3. 把带有讽刺意味的评语留给你自己
有些想法最好把它烂在肚子里,如果不想被人认为粗鲁,最好不要把这些伤人的话说出口。
4. 积极参与
对于同一个问题,或许你会有不同的想法。如果你能够积极参与,可能会得到比之前更好的解决方案,所以,说出你的想法和建议。
5. 不是每个人的经历都跟你一样
有些东西对你来说是常识,但有些人可能并不知道,即使他们的能力并不差。你可以说这些东西是常识,但不要显露出嘲笑或高人一等的姿态。
6. 不要把复杂的东西简单化
有些事情对你来说是显而易见的,但对其他人并不一定也是这样。为别人提供可选方案或有用的例子可以让他们也变得跟你一样好。
7. 尊重别人
有时候,别人提交的代码可能质量很差,但表示一下对别人的尊重其实很容易。
8. 管理你的期望和时间
如果一次提交的代码太多,你没有时间评审,可以让提交者知道,而不是直接忽略它们。把你希望对提交者说出你所期望的,以及给出一个大概的时间范围。
9. 使用礼貌用语
使用礼貌用语(比如“请”)表示对代码提交者的尊重,特别是当你要他们在细节上做出一些调整(比如格式化)时。
10. 开启对话
你可能照着上面所说的去做了,但对提交的代码仍然不满意。这个时候你可以这么说:“我不喜欢这段代码,但我也不知道为什么,我们可以聊聊吗?”尽管需要多花一点时间,但这样是值得的,因为这样你和对方都能学到东西(一个讲一个听),而不是变成对立方。
即使是很有经验的程序员也可以这么说:“我也不知道为什么不喜欢这段代码”。这不是在创造攻击代码评审人员的机会,而是打开一条共同求知的道路。
综上,可以总结为,做一个令人尊敬的代码评审人员需要避免使用双关语或夸大其词,避免争论,避免精英主义或贬低他人,避免诸如“显而易见”和“你为什么不……”这样的评语。使用清晰、真实的陈述和支持性的语言,提出问题,推动事情向前发展。同事和代码贡献者都是人,他们的付出和你的付出一样值得尊重。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
72
沉浸
阅读
分享
手机端
快捷键
回顶部