Code Review怎样做好
一、背景
最近随着交易业务快速扩展,研发组内新项目及新成员越来越多,如何做好Code Review,把控研发人员开发代码质量很是关键。
对于大部分业务团队,谈到Code Review就会面露哀状:
“上线时间倒排,研发工期这么紧,连码代码的时间都不够了,你还要我CR?”
“上版的需求,这版就变了,代码生命周期太短,烂就烂吧,反正能用就行啦”
二、抛出问题
下面分几个方面来分析下Code Review:
* Code Review有没有用?
* Code Review中的问题如何解决?
* 如何做好Code Review?
三、分析问题
1、Code Review有没有用?
Code Review 的好处不言而喻。主要让你的代码可以更好的组织搭建,有更高可读性,且更容易维护,同时可以知识共享,相对而言,找Bug并不是那么的重要。
总结一句话,Code Review可以直接影响你的工程能力。
2、Code Review中的问题如何解决?
Code Review中的主要问题:
a. 编码质量较差
原因可能是对业务不熟悉,对语言应用技巧不熟悉,也可能对公司、部门编码规范不熟悉等等,有些问题如果没人及时提醒纠正的话,只会造成在错误的道路上越走越远。
b. 自己承担还是指导他人?
Code Review是一个学习过程,将自己的一些经验指导给新人,从长远来看,是在“复制”你的生产力,一个人能力再强,也不可能包揽所有的任务,团队协作也是研发人员需要注重培养的软素质。
c. 主要Review什么?
编码风格,大家约定俗成的规范准则,从新人开始一步步坚持下去;
代码可读性,代码写出来是叫别人可以读懂的,而且是易读的;
全面性,业务实现异常情况考虑不全面的问题,需要老工程师指导,以免造成线上故障;
不良代码或架构,错误的代码实现、功能函数抽象以及文件组织等,都需要尽量保持整个代码库的风格一致。服务器监控维护工具
3、如何做好Code Review?
Code Review机制一定是要与团队规模和项目节奏挂钩的。
a. Code Review 频次如何控制?
研发前期需要技术方案设计评审,日常Code Review保证开发过程中代码质量,研发完成后项目Code Review是为了呼应前期评审过的技术方案,确认哪些方案变更了,是由于什么原因等等。
如:大型项目,每天Code Review一次;小优化需求,merge request时候Code Review一次即可。
Tips:Code Review一定要尽可能前置,防止测试后改动问题造成影响。
b. Code Review 时间如何控制?
一次不要检查过多代码,控制在1小时以内,一个研究机构 调查指出,太多信息或者60分钟以后,发现缺陷的能力就会降低。
c. 作者在审核前需要注释源代码
在他人评审之前,自己Review一遍实现思路,说不定会有意外收获呢。
d. 使用Checklist
可能团队内人员会犯同样的错误,一遍遍重复查找费时费力,应该整理核对Checklist来缩减经常出现的错误的排查时间,同样Checklist也有利于问题统计和跟踪改进结论。
e. 改进问题要及时
争取当天问题当天解决,同时Code Review新问题之前,先回顾一下之前遗留问题是否修复,做到Code Review行之有效。
f. 培养积极的Code Review文化
Review是团队提高代码质量的机会,也是互相学习的过程;建立接受他人评审的潜意识,我的工作产出是需要其他人Review的,这种自我激励会自然的要求自己产出更优秀的代码。
四、写在最后
作为研发工程师,首先要对自己负责的业务和代码负责,这个与医生、教师的岗位职责是一样的。如果开发没有标准,对应该高标准的东西一味妥协,自己的标准一降再降,到最后吃亏的还是自己。
本文转自:http://flyer0126.iteye.com/blog/2426055
Code Review怎样做好的更多相关文章
- 简单可行的code review规则
前言 曾经有一段垃圾代码放在我的面前,我没有拒绝,等我真正开始接手的时候我才后悔莫及,程序员最痛苦的事莫过于此! 每当接手别人的代码,都有一种想重新写一遍的感觉,等到别人再来接手你的代码时,同样的感觉 ...
- code review规则
简单可行的code review规则 前言 曾经有一段垃圾代码放在我的面前,我没有拒绝,等我真正开始接手的时候我才后悔莫及,程序员最痛苦的事莫过于此! 每当接手别人的代码,都有一种想重新写一遍的感觉, ...
- 如何在团队中做好Code Review
一.Code Review的好处 想要做好Code Review,必须让参与的工程师充分认识到Code Review的好处 1.互相学习,彼此成就 无论是高手云集的架构师团队,还是以CURD为主的业务 ...
- 如何做好Code Review
Code Review(代码审查)很多团队都会做,效果如何不好说.如果你能轻易地从一堆出自正经团队之手的代码里找出几个低级错误,往往意味着团队管理者长期忽视了Code Review的重要性. 根据经验 ...
- 代码审查 (Google牛人谈Code Review)
代码审查 (Google牛人谈Code Review) 在上一篇博客里我暗示自己将不在为Google工作. 我还没有决定好去哪儿-有几个非常不错的工作机会让我选择.鉴于这段时间内我不受雇于任何公司,我 ...
- 如何在python脚本开发做code review
在软件项目开发中,我们经常提到一个词“code review”.code review中文翻译过来就是代码评审或复查,简而言之就是编码完成后由其他人通过阅读代码来检查代码的质量(可编译.可运行.可读. ...
- 从code review到Git commit log
最近在读一本技术类的书:朱赟——<跃迁:从技术到管理的硅谷路径>,其中聊了很多很有趣的观点,比如:技术管理.技术实践.硅谷文化.个人成长等. 读到关于硅谷人如何做code review这一 ...
- 程序员必备技能:代码审查 (Google牛人谈Code Review)
在上一篇博客里我暗示自己将不在为Google工作. 我还没有决定好去哪儿-有几个非常不错的工作机会让我选择.鉴于这段时间内我不受雇于任何公司,我想我可以写点和专业相关的东西,这些东西很有趣,但是如果我 ...
- Code Review最佳实践
我一直认为Code Review(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题.包括像Google.微软这些公司,Code Review都是基本要求,代 ...
随机推荐
- pve之命令
pvesr list ha-manager status pvecm nodes pvecm status pveperf qm list root@cu-pve06:~# pvesr list Jo ...
- scrapy电影天堂实战(一)创建数据库
原文链接 这里的排版没微信公众号那么友好,建议查看公众号原文 创建数据库 首先我们需要创建数据库和表等来存储数据 创建mysql.cnf配置文件 oot@ubuntu:/mnt/test_scrapy ...
- 校内模拟赛 : Rima —— 字典树+树形DP
首先说一下,对一个刚学Trie树的蒟蒻来说(就是我),这道题是一道好题.Trie树比较简单,所以就不详细写了. Rima 内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目类型:传 ...
- 关于Visual Studio中书签Bookmark的一些问题
VS自带一个书签功能,但是有个大问题,没有导出功能,因为这个书签是保存在工程.suo文件中,所以在移动,分享,甚至其他情况下很不方便,甚至丢失. 在你分析一个较大的开源,做了30-50个关键代码书签, ...
- JS截取与分割字符串
1.substr 方法 返回一个从指定位置开始的指定长度的子字符串. stringvar.substr(start [, length ]) start :必选项.所需的子字符串的起始位置.字符串中的 ...
- jmeter对响应数据做断言
单独校验某个接口中的某个字段时,断言就相当于检查点 添加http请求,输入路径url
- "CoolShell puzzle game" writeup
地址:http://fun.coolshell.cn/ Fuck your brain 看到一大串符号,还以为是 js 代码,结果放到 Chrome 控制台执行没有任何结果,然后搜了一下发现有一门叫B ...
- input限制小数点的位数
在做限制input小数点的时候,我本来想通过vue里面的的watch监听来实现, ---实现逻辑是,通过监听输入的内容,当出现"."(点)的时候,记录通过indexOf获取点的位置 ...
- 创建配置中心服务端(Spring Cloud Config)
创建配置中心服务端 创建好项目后添加配置文件内容 server.port=9004 spring.application.name=spring-cloud-config-server-01 #git ...
- Edit the AlarmClock in AOSP with android-studio
1. git the AlarmClock source code on AOSP 2. select 'import project' by android-studio & we will ...