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. 按要求编写Java应用程序。 (1)建立一个名叫Cat的类: 属性:姓名、毛色、年龄 行为:显示姓名、喊叫 (2)编写主类: 创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输 出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。

    package zuoye; public class Cat { String name="妮妮"; String color="灰色"; int age=1 ...

  2. jquery简单入门(一)

    相关: 本文参考<锋利的jQuery第二版> 写在前面: jQuery作为javascript框架,是做网页交互工作者,一个值得学习的优秀的前端框架... 百度指数分析:(http://i ...

  3. 从本地向 Github 上传项目步骤攻略(快速上手版)

    最近想把之前自己做的一些好玩的项目共享到Github,网上找了一圈上传教程,都感觉写的太深奥.复杂,云里雾里,特把自己的方法纪录如下: PS:这种方式一般适用于:开始做项目时,没有直接在github上 ...

  4. linux下文件的特殊权限s和t

    先看看这两个文件的权限:[root@localhost ~]# ls -ld /usr/bin/passwd /tmpdrwxrwxrwt 4 root root 4096 Jun 2 17:33 / ...

  5. Windows批处理:自动检查服务器连通性

    该技术与上一篇<自动检查网络连通性>的实现原理相同,我将脚本稍微改动了下,用于检查公司服务器的连通性,简单快捷.在这里附上修改方法. @echo off color 1F title 服务 ...

  6. POJ 3449 Geometric Shapes --计算几何,线段相交

    题意: 给一些多边形或线段,输出与每一个多边形或线段的有哪一些多边形或线段. 解法: 想法不难,直接暴力将所有的图形处理成线段,然后暴力枚举,相交就加入其vector就行了.主要是代码有点麻烦,一步一 ...

  7. UVA 10375 Choose and divide【唯一分解定理】

    题意:求C(p,q)/C(r,s),4个数均小于10000,答案不大于10^8 思路:根据答案的范围猜测,不需要使用高精度.根据唯一分解定理,每一个数都可以分解成若干素数相乘.先求出10000以内的所 ...

  8. jdbc与 Beanshell PostProcessor 对多条结果的处理

    配置了数据库后,可以通过Beanshell对结果进行特别的操作,一下为对多条数据的处理 数据库的配置如图:

  9. 使用javascript对密码进行有密码强度提示的验证

    好些网站的注册功能中,都有对密码进行验证并且还有强度提示.下面就来实现这种效果.密码强度说明:密码强度:弱——纯数字,纯字母,纯符号密码强度:中——数字,字母,符号任意两种的组合密码强度:强——数字, ...

  10. js中控制小数点的显示位数的技术整理

    js中自带方法控制小数点的显示位数(四舍五入) alert((12.9299).toFixed(2)); //12.93 alert((12.9243).toFixed(2)); //12.92 小数 ...