Code Review 五问五答
Code Review 是什么?
Code Review即代码审查,程序猿相互审核对方的代码。
Code Review能获得什么好处?
- 提高代码可维护性
- 你写的代码不再只有编译器看了,你得写出审核人能看得下去的代码,
并且还得考虑这段代码还有没有改进或者重构的可能
- 你写的代码不再只有编译器看了,你得写出审核人能看得下去的代码,
- 提高代码质量
- 不再有明显的逻辑错误,单元测试用例是否考虑边界值等情况,从而减少BUG的产生
- 团队知识共享
- 新的技术或者新的思路能够快速的在团队内传递
- 提高项目预估准确性
- 通过代码审核,让产品经理或者Scrum Master能更好的了解任务,更准确的估算工时
- 业务或功能不再只依赖个人
- 没有人喜欢修改别人的代码,尤其是生产环境中的核心业务代码。代码审查可以让至少另一个人对这段代码如数家珍
- 指导新工程师
- 代码审查有助于促进新成员更快的加入团队,快速掌握业务和技术知识
提交Code Review之前要做什么?
- 准备或者提交相关需求文档以备审查者询问
- 编写符合规范的代码和合适的注释
- 考虑代码是否有重构的可能
- 单元测试全部通过,测试覆盖率达标
如何Code Review?
- 了解需求:这个提交是为了解决什么问题,是需求单、BUG修复、还是代码重构,
如果不明确,需要及时和代码作者沟通和讨论 - 检查代码业务逻辑是否符合需求
- 代码是否符合相关代码规范
- 确认是否有更好的方式方法重构代码
- 检查单元测试用例是否考虑全面
- 如果代码没有问题,也写上类似GOOD JOB之类的评论
Code Review之后可以做什么?
- 对于代码审查人表示感谢
- 如果代码审查没有通过,不要往心里去,审查的是代码,不是你
- 尝试对每一个评论做出回复
- 等待合并分支,等待持续集成告诉你全部通过
参考链接
- (https://github.com/thoughtbot/guides/tree/master/code-review)
- (https://smartbear.com/learn/code-review/best-practices-for-peer-code-review/)
- (https://smartbear.com/learn/code-review/guide-to-code-review-process/)
Code Review 五问五答的更多相关文章
- C#学习基础概念二十五问
C#学习基础概念二十五问 1.静态变量和非静态变量的区别?2.const 和 static readonly 区别?3.extern 是什么意思?4.abstract 是什么意思?5.internal ...
- 找到bug的根源,问五次为什么
在学习<问题分析与解决>时学到了一种找到问题根源的方法——问五次为什么.具体内容是:当遇到一个问题,不要只看当前答案,要继续往下问,为什么,连问五次,就能够找到更深层次的问题.最近在复盘b ...
- var=value?export前后差在哪?-- Shell十三问<第五问>
var=value?export前后差在哪?-- Shell十三问<第五问> 这次让我们暂时丢开 command line ,先来了解一下 bash 变量(variable)吧.所谓的 变 ...
- 在 GitHub 上玩转开源项目的 Code Review
一.幕后故事 时光荏苒,岁月如梭-- (太文绉绉了,这不是我的风格) 今天我准备聊聊在 GitHub 上如何玩 Code Review. 突发奇想?心血来潮?不是. 咋回事呢?(对八卦不感兴趣的可以直 ...
- OpenGL快问快答
OpenGL快问快答 本文内容主要来自对(http://www.opengl.org/wiki/FAQ)的翻译,随机加入了本人的观点.与原文相比,章节未必完整,含义未必雷同,顺序未必一致.仅供参考. ...
- 如何搭建开源code review gerrit服务器
搭建环境:Ubuntu 14.04 一.环境准备 1.Java环境 gerrit依赖,用于安装gerrit环境. 下载:jdk-7u79-linux-x64.tar.gz http://www.ora ...
- code review作业
下面是对结对编程队友12061166 宋天舒的code review 五个优点: 1.代码的风格优秀,注释不多,但是必要的注释还是有的,比如: // 三种模式 // mode1仅统计单个单词 // m ...
- <转>如何进行code review
转自: http://pm.readthedocs.org/zh_CN/latest/codereview/howto.html 如何进行code review? code reivew是保障代码质量 ...
- Android 动画 6问6答
1.view 动画有哪些需要注意的? 答:view动画 本身比较简单.http://www.cnblogs.com/punkisnotdead/p/5179115.html 看这篇文章的第五问就可以了 ...
随机推荐
- 【Linux】将Oracle安装目录从根目录下迁移到逻辑卷
[Linux]将Oracle安装目录从根目录下迁移到逻辑卷 1.1 BLOG文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到 ...
- Java设计模式 - 代理模式
1.什么是代理模式: 为另一个对象提供一个替身或占位符以访问这个对象. 2.代理模式有什么好处: (1)延迟加载 当你需要从网络上面查看一张很大的图片时,你可以使用代理模式先查看它的缩略图看是否是自己 ...
- eclipse常用配置
一. 手动方式安装svn插件 1. 根据本地的svn客户端的版本,到http://subclipse.tigris.org/ 下载eclipse对应版本的svn插件包 注:装eclipse里面的svn ...
- namenode metadata 备份与恢复实验
https://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html#dfsadmin -me ...
- simple-spring-memcached缓存搭建
项目中使用的缓存经常是知道使用,没有试过搭建起它.刚好这次自己的毕业可以用来搭建缓存.其他不多说了,直接看操作吧.首先在pom.xml中依赖simple-spring-memcached的架包. &l ...
- Qt基础之开发环境部署
将 Qt 5.6 集成至 VS2015 摘要: 由于VS2015不再支持addin,所以要用其他手段. 这里给出64位系统下的安装步骤,32位类似. 一.安装VS2015 过程略.值得注意的是要选择需 ...
- IT菜鸟的第一天
小弟愚钝,被别人影响,打算入IT行业试试水的深浅,俗话说技不压身,多会一种就多一条路子,抱着这种求知的心态我就开始的我在汉企的IT生涯! 第一天无非就是简介,对IT行业的介绍,反正听得我挺懵的,不过介 ...
- Canon
.打开压缩包发现2个文件,1个是加密的zip.zip,另一个是music.mp3.猜测zip.zip的解压密码隐藏在music.mp3里 .用MP3Stego解密music.mp3,密码就是标题的Ca ...
- HTML-学习笔记(常用标签)
本篇博客讲一讲HTML中的标签 HTML 标题 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的.<h1> 定义最大的标题.<h6> ...
- 为EXSi5.5上的Centos虚机增加硬盘容量
宿主机调整 1. 关闭虚机, 2. 检查是否有存在的snapshot, 如果有, 需要删除, 否则不能调整磁盘容量 3. 虚机上编辑配置, 将磁盘容量调大后保存 虚机调整 参考这篇写得非常详细: 点击 ...