意思是   代码评审  或是 代码回顾

代码评审是指在软件开发过程中,通过对源代码进行系统性检查的过程。通常的目的是查找系统缺陷,保证软件总体质量和提高开发者自身水平。 Code Review是轻量级代码评审,相对于正式代码评审,轻量级代码评审所需要的各种成本要明显低的多,如果流程正确,它可以起到更加积极的效果。正因如此,轻量级代码评审经常性得被引入到软件开发过程中。

Why we do Code Review(为什么进行)编辑
1、提高质量
2、及早发现潜在缺陷与BUG,降低事故成本。
3、促进团队内部知识共享,提高团队整体水平
4、评审过程对于评审人员来说,也是一种思路重构的过程。帮助更多的人理解系统。
Types of Code Review(代码评审的几种类型)编辑
一般来说,代码评审分为正式代码评审与轻量级代码评审两种
Formal Code Review(正式代码评审)
Fagan inspection(范根检查法):
RolesAuthor/Designer/Coder: 作者
Reader: paraphrases the document(阅读者)
Tester: reviews the document from a testing standpoint(评审员)
Moderator: responsible for the inspection session, functions as a coach(协调人)
Recorder:record detects.(记录员)
Flow
Lightweight Code Review(轻量级代码评审)
几种常见的轻量级代码评审方式:
Over-the-shoulder – One developer looks over the author’s shoulder as the latter walks through the code.(它由作者启动和主持评审,作者向评审者展示文档。优点是启动快,成本低,缺点是容易被作者误导过程)
Email pass-around – Source code management system emails code to reviewers automatically after checkin is made.(优点自动化,可以及时提供最新代码进行评审,缺点是无法达到人工筛选的功效)
Pair Programming – Two authors develop code together at the same workstation, such is common in Extreme Programming.(源于XP,作者与评审者平级,可以帮助同伴间的学习和共享)
Review Meeting – (定期组织review会议,轮流有团队成员选出自己的评审作品,需要系统化得预备、总结和追踪。优点可以提高团队整体技能和对产品的理解,缺点是评审范围有限,成本较高 )
Tool-assisted code review – Authors and reviewers use specialized tools designed for peer code review. (大量的代码评审工具,比较流行的checkstyle/findbugs/pmd)
本文以下内容都是指针对轻量级代码评审进行进一步讨论。
Options of Code Review(代码评审的选择)编辑
1、最近一次迭代开发的代码
2、系统关键模块
3、业务较复杂的模块
4、缺陷率较高的模块
Practice of Code Review(代码评审实践)编辑
代码评审不是批斗会,不能以缺陷和错误来打击开发人员的积极性评审的目标的提高质量和提高整体水平,作者应该带着学习和提高的态度来参加评审。
代码集体所有制:对发现的问题要本着整体承担责任 的原则,因此建议把代码质量与团队绩效(而不是个人绩效)挂钩。
评审程度,进行一次整体的地毯式的评审成本很高。
代码评审的可操作性,首先需要评审团队具备经验丰富的系统架构师和精通业务的行业专家。其次团队需建立其开发规范或指南,在项目初期建立少量的Sample代码与checklist为评审提供依据。
评审人员的职责是发现工作成果中的缺陷,并帮助开发人员给出消除缺陷的办法,而不是替开发人员消除缺陷 。
记录评审中出现的问题,跟踪改进。
评审前充分准备,评审后详细总结。
不要因为时间和成本问题取消评审。

[行业关键词] review code review的更多相关文章

  1. 什么是Code Review(转)

    Code Review是一种通过复查代码提高代码质量的过程,在XP方法中占有极为重要的地位,也已经成为软件工程中一个不可缺少的环节.本文通过对Code Review的一些概念和经验的探讨,就如何进行C ...

  2. 什么是Code Review

    Code Review 是一种通过复查代码提高代码质量的过程,在XP方法中占有极为重要的地位,也已经成为软件工程中一个不可缺少的环节. 本文通过对Code Review的一些概念和经验的探讨,就如何进 ...

  3. Code Review(转)

    Code Review是一种通过复查代码提高代码质量的过程,在XP方法中占有极为重要的地位,也已经成为软件工程中一个不可缺少的环节.本文通过对Code Review的一些概念和经验的探讨,就如何进行C ...

  4. 从code review到Git commit log

    最近在读一本技术类的书:朱赟——<跃迁:从技术到管理的硅谷路径>,其中聊了很多很有趣的观点,比如:技术管理.技术实践.硅谷文化.个人成长等. 读到关于硅谷人如何做code review这一 ...

  5. 如何推行Code Review

    这篇文章探讨的是如何在一个没有Code Review习惯的团队里面Code Review. 在进行Code Review的时候,审核人很多时候会对被审核人的代码指手画脚,在评价对方的代码,甚至是在批评 ...

  6. 漫谈Code Review的错误实践

    从刚开始工作时到现在,已经写了7年的代码,大部分代码都被人review过,自己也review了很多人的代码.在上一家公司的时候,我负责的一轮面试是专门进行Code Review的练习和经验谈. 通过在 ...

  7. 【转载】 漫谈Code Review的错误实践

    原文地址: https://www.cnblogs.com/chaosyang/p/code-review-wrong-practices.html ------------------------- ...

  8. Code Review 最佳实践

    ref: Code review Best Practices 文章将了以下内容: 3w:why.what.when 进行 code review code review 之前的准备 执行 code ...

  9. 如何在python脚本开发做code review

    在软件项目开发中,我们经常提到一个词“code review”.code review中文翻译过来就是代码评审或复查,简而言之就是编码完成后由其他人通过阅读代码来检查代码的质量(可编译.可运行.可读. ...

随机推荐

  1. 【Telerik控件学习】-制作3D效果的柱状图(ChartView)

    首先,定义柱状图,并设置自定义的DataTemplate <telerik:RadCartesianChart > <telerik:RadCartesianChart.Horizo ...

  2. js excel 列表导出

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. angular1.x + ES6开发风格记录

    angular1.x和ES6开发风格 一.Module ES6有自己的模块机制,所以我们要通过使用ES6的模块机制来淡化ng的框架,使得各业务逻辑层的看不出框架的痕迹,具体的做法是: 把各功能模块的具 ...

  4. Linux中包管理与定时任务

    第1章 软件查询 1.1 查询软件是否安装 rpm -qa |grep cron 查询是否安装了这个软件. [root@znix ~]# rpm -qa |grep cron crontabs-1.1 ...

  5. Maven合并多个war包的工程需要用到的插件

    <build> <finalName>WebSite</finalName> <plugins> <!-- 配置war包合并的插件 --> ...

  6. jQuery 插件格式 规范

    方式一(自定义对象): (function($, window, document) {  var Plugin, defaults, pluginName; 调用时的函数名:     pluginN ...

  7. javascript 关于 this 作用域链

    使用 function f() {}  或者 var f = function() {}  来定义的函数,this 是指向 全局对象   var  a = {    b: 1,    c: funct ...

  8. linux环境手动编译安装Nginx实践过程 附异常解决

    1.下载nginx源码包并解压 可在http://nginx.org/en/download.html下载.tar.gz的源码包,如(nginx-1.4.7.tar.gz) 或者使用云盘下载   ht ...

  9. Problem A: 求平均年龄

    Description 定义一个Persons类,用于保存若干个人的姓名(string类型)和年龄(int类型),定义其方法 void addAPerson(string,int) 用于添加1个人的信 ...

  10. ORM框架SQLAlchemy与权限管理系统的数据库设计

    SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用对象关系映射进行数据库操作,即:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果. 执行流 ...