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 看这篇文章的第五问就可以了 ...
随机推荐
- jquery中attr和prop的区别、 什么时候用 attr 什么时候用 prop (转自 芈老头 )
jquery中attr和prop的区别. 什么时候用 attr 什么时候用 prop 在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这 ...
- Office——EXCEL 打开自动修改 关闭自动保存
==================================声明================================== 本文版权归作者所有 未经作者授权 请勿转载 保留法律追究的 ...
- 烂泥:ubuntu下vsftpd虚拟用户配置
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我微信ilanniweb. 以前搭建vsftpd都是在centos下,本以为在ubuntu按照以前的步骤搭建即可.可 ...
- 理解 OpenStack Swift (2):架构、原理及功能 [Architecture, Implementation and Features]
本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...
- hdu-5933----hdu-5943
hdu-5933 思路: 贪心,首先要求总和是k的倍数,而又要求相邻,说明相邻的一块如果是sum/k的倍数,那么就地切割这样才能使操作数目最少; hdu-5934 思路: 强连通分量,可以找出强连通分 ...
- codevs哈希水题
1230 多重hash练习一下,不用也可以 // // main.cpp // codeves1230 // // Created by Candy on 9/29/16. // Copyright ...
- Unity 碰撞器
Unity引擎的碰撞器 常见的有Box Collider,Capsule Collider等等 IsTrigger(触发器) 在这些碰撞器中有一个属性 Is Trigger(是否使用触发器) 触发器事 ...
- C# 根据正则表达式来判断输入的是不是数字
最近在做输入判断的时候出现了一个需要判断输入合法性的问题,就是判断输入的是不是数字,判断方法是根据正则表达式来判断,具体方法如下: private bool IsRightNum(string str ...
- swift 集合类型(二)
说到swift的集合类型,就不得不谈到Dictionary.包含一个键值对组合的集合. var air = ["name":"warner","tit ...
- Cordova - 与iOS原生代码交互1(通过JS调用Swift方法)
在前面的文章中介绍的了如何使用Cordova进行跨平台应用的开发,使用Cordova的话基本上就不需要在写系统原生代码了,只要通过编写html页面和js方法即可. 但在有些特殊情况下,还是是需要htm ...