Code Review应该关注哪些点?
2019-12-31 20:48
197 查看
Code Review应该关注哪些点?
设计
Code Review中最重要的一个点就是把握住变更中的整体设计。变更中各个部分的代码交互是否正常?整个改动是否属于你负责的代码库?是否和你系统中其他部分交互正常?现在是否是添加整个功能的恰当时间?
功能性
开发者在这个变更中想做什么? 开发人员打算为该代码的用户带来什么好处?(这里”用户“是指受变更影响到的实际用户,和将来会使用到这些代码的开发者)
重要的是,我们希望开发者能充分测试代码,以确保代码在Code Review期间正常运行。但无论如何,你作为审查者也要考虑一些特殊情况,像是有些并发问题。站在用户的角度,确保你正在看的代码没有bug。
你可以验证变更,尤其是在有面向用户的影响时,评审者应该仔细检查整个变更。有时候单纯看代码很难理解这个变更如何影响到用户,这种情况下如果你不方便自己在CL中打补丁并亲自尝试,你可以让开发者为你提供一个功能性的demo。
另一个在Code Review时需要特别关注的点是,代码中是否有 并发编程,并发理论上可能会导致死锁或资源争抢,这种问题在代码运行时很难被检测出来,所以需要有人(开发者和评审者)仔细考虑整个逻辑,以确保不会引入线程安全的问题。(所以除了死锁和资源争抢之外,增加Code Review复杂度也可以成为拒绝使用多线程模型的一个理由。)
复杂性
变更是否比预期的更复杂?检测变更的每个级别,是否个别行太复杂?功能是否太复杂?类是否太复杂?”复杂“意味着代码阅读者很难快速理解代码,也可意味着开发者尝试调用或修改此代码时可能会引入bug。。
一个典型的复杂性问题就是 过度设计,当开发者让代码变得更通用,或者增加了许多当前不需要的功能时,评审者应该额外注意是否过度设计。鼓励开发者解决现在遇到的问题,而不是揣测未来可能遇到的问题。
相关文章推荐
- 整天说Code Review重要,你知道应该关注哪些关键点吗?
- 哪些人应该关注WPF
- 多名企业家经验分享:创业初期,创始人应该关注哪些问题?
- [置顶] 优秀的数据分析师应该关注哪些网站
- 学习 Java 应该关注哪些网站?
- 优秀的数据分析师应该关注哪些网站
- 重庆WEB前端开发学习应该关注哪些新技术?
- 第一份工作到底有多重要?找第一份工作应该关注哪些因素?
- 2010年CIO应该关注哪些技术
- 2018 年,前端开发人员应该关注哪些新晋技术?
- 优秀的数据分析师应该关注哪些网站
- [转]学习Java应该关注哪些网站?
- Android 编程中,使用静态变量有哪些缺点?应该如何规范使用?
- 一个合格的程序员应该读过哪些书
- Web前端应该从哪些方面来优化网站?转载学习。
- 程序员应该关注的一些事儿
- 一个合格的程序员应该读过哪些书
- 积跬步,聚小流------关于手机号,前端应该注意哪些
- 前端工程师应该关注些什么