Code Review 是什么?

Code Review即代码审查,程序猿相互审核对方的代码。

Code Review能获得什么好处?

  • 提高代码可维护性

    • 你写的代码不再只有编译器看了,你得写出审核人能看得下去的代码,
      并且还得考虑这段代码还有没有改进或者重构的可能
  • 提高代码质量
    • 不再有明显的逻辑错误,单元测试用例是否考虑边界值等情况,从而减少BUG的产生
  • 团队知识共享
    • 新的技术或者新的思路能够快速的在团队内传递
  • 提高项目预估准确性
    • 通过代码审核,让产品经理或者Scrum Master能更好的了解任务,更准确的估算工时
  • 业务或功能不再只依赖个人
    • 没有人喜欢修改别人的代码,尤其是生产环境中的核心业务代码。代码审查可以让至少另一个人对这段代码如数家珍
  • 指导新工程师
    • 代码审查有助于促进新成员更快的加入团队,快速掌握业务和技术知识

提交Code Review之前要做什么?

  • 准备或者提交相关需求文档以备审查者询问
  • 编写符合规范的代码和合适的注释
  • 考虑代码是否有重构的可能
  • 单元测试全部通过,测试覆盖率达标

如何Code Review?

  • 了解需求:这个提交是为了解决什么问题,是需求单、BUG修复、还是代码重构,
    如果不明确,需要及时和代码作者沟通和讨论
  • 检查代码业务逻辑是否符合需求
  • 代码是否符合相关代码规范
  • 确认是否有更好的方式方法重构代码
  • 检查单元测试用例是否考虑全面
  • 如果代码没有问题,也写上类似GOOD JOB之类的评论

Code Review之后可以做什么?

  • 对于代码审查人表示感谢
  • 如果代码审查没有通过,不要往心里去,审查的是代码,不是你
  • 尝试对每一个评论做出回复
  • 等待合并分支,等待持续集成告诉你全部通过

参考链接

Code Review 五问五答的更多相关文章

  1. C#学习基础概念二十五问

    C#学习基础概念二十五问 1.静态变量和非静态变量的区别?2.const 和 static readonly 区别?3.extern 是什么意思?4.abstract 是什么意思?5.internal ...

  2. 找到bug的根源,问五次为什么

    在学习<问题分析与解决>时学到了一种找到问题根源的方法——问五次为什么.具体内容是:当遇到一个问题,不要只看当前答案,要继续往下问,为什么,连问五次,就能够找到更深层次的问题.最近在复盘b ...

  3. var=value?export前后差在哪?-- Shell十三问<第五问>

    var=value?export前后差在哪?-- Shell十三问<第五问> 这次让我们暂时丢开 command line ,先来了解一下 bash 变量(variable)吧.所谓的 变 ...

  4. 在 GitHub 上玩转开源项目的 Code Review

    一.幕后故事 时光荏苒,岁月如梭-- (太文绉绉了,这不是我的风格) 今天我准备聊聊在 GitHub 上如何玩 Code Review. 突发奇想?心血来潮?不是. 咋回事呢?(对八卦不感兴趣的可以直 ...

  5. OpenGL快问快答

    OpenGL快问快答 本文内容主要来自对(http://www.opengl.org/wiki/FAQ)的翻译,随机加入了本人的观点.与原文相比,章节未必完整,含义未必雷同,顺序未必一致.仅供参考. ...

  6. 如何搭建开源code review gerrit服务器

    搭建环境:Ubuntu 14.04 一.环境准备 1.Java环境 gerrit依赖,用于安装gerrit环境. 下载:jdk-7u79-linux-x64.tar.gz http://www.ora ...

  7. code review作业

    下面是对结对编程队友12061166 宋天舒的code review 五个优点: 1.代码的风格优秀,注释不多,但是必要的注释还是有的,比如: // 三种模式 // mode1仅统计单个单词 // m ...

  8. <转>如何进行code review

    转自: http://pm.readthedocs.org/zh_CN/latest/codereview/howto.html 如何进行code review? code reivew是保障代码质量 ...

  9. Android 动画 6问6答

    1.view 动画有哪些需要注意的? 答:view动画 本身比较简单.http://www.cnblogs.com/punkisnotdead/p/5179115.html 看这篇文章的第五问就可以了 ...

随机推荐

  1. 【Linux】将Oracle安装目录从根目录下迁移到逻辑卷

    [Linux]将Oracle安装目录从根目录下迁移到逻辑卷 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到 ...

  2. Java设计模式 - 代理模式

    1.什么是代理模式: 为另一个对象提供一个替身或占位符以访问这个对象. 2.代理模式有什么好处: (1)延迟加载 当你需要从网络上面查看一张很大的图片时,你可以使用代理模式先查看它的缩略图看是否是自己 ...

  3. eclipse常用配置

    一. 手动方式安装svn插件 1. 根据本地的svn客户端的版本,到http://subclipse.tigris.org/ 下载eclipse对应版本的svn插件包 注:装eclipse里面的svn ...

  4. namenode metadata 备份与恢复实验

    https://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html#dfsadmin -me ...

  5. simple-spring-memcached缓存搭建

    项目中使用的缓存经常是知道使用,没有试过搭建起它.刚好这次自己的毕业可以用来搭建缓存.其他不多说了,直接看操作吧.首先在pom.xml中依赖simple-spring-memcached的架包. &l ...

  6. Qt基础之开发环境部署

    将 Qt 5.6 集成至 VS2015 摘要: 由于VS2015不再支持addin,所以要用其他手段. 这里给出64位系统下的安装步骤,32位类似. 一.安装VS2015 过程略.值得注意的是要选择需 ...

  7. IT菜鸟的第一天

    小弟愚钝,被别人影响,打算入IT行业试试水的深浅,俗话说技不压身,多会一种就多一条路子,抱着这种求知的心态我就开始的我在汉企的IT生涯! 第一天无非就是简介,对IT行业的介绍,反正听得我挺懵的,不过介 ...

  8. Canon

    .打开压缩包发现2个文件,1个是加密的zip.zip,另一个是music.mp3.猜测zip.zip的解压密码隐藏在music.mp3里 .用MP3Stego解密music.mp3,密码就是标题的Ca ...

  9. HTML-学习笔记(常用标签)

    本篇博客讲一讲HTML中的标签 HTML 标题 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的.<h1> 定义最大的标题.<h6> ...

  10. 为EXSi5.5上的Centos虚机增加硬盘容量

    宿主机调整 1. 关闭虚机, 2. 检查是否有存在的snapshot, 如果有, 需要删除, 否则不能调整磁盘容量 3. 虚机上编辑配置, 将磁盘容量调大后保存 虚机调整 参考这篇写得非常详细: 点击 ...