探究代码审查(Code review)
Code review 是什么
对软件源代码的系统性检查,查找软件源代码质量,结构,漏洞等问题。
PS:Code review ≈ Code inspections ≥ Code walkthroughs(代码走查)
Code walkthroughs 相当于是 非正式的 Code review 。
怎样执行Code review
1.使用代码静态分析工具。
代码静态分析工具会辅助自己在编码进行代码审查。
以ESlint为例。
流程: (1)安装ESlint工具包。
(2)开发团队组长与成员共同制定ESlint配置文件,并共享此文件。
(3)ESlint配置文件定稿后,开发团队组长与成员共同使用ESlint配置文件,并严格按照此规范编码。
PS:代码静态分析工具帮助开发人员在本地编码时进行初步代码审查,减少在开发团队成员互检时的所需的代码审查项目,提高代码审查的效率。
2.使用版本控制工具(互检)。
考虑到学习成本与执行效率,使用版本控制工具自带轻量级的代码审查的工具是最佳选择。
以GitHub的Pull Request为例。
流程:(1)在GitHub创建好matser主分支、多个feature分支、多个feature子分支。组长设置matser主分支,feature分支只读不可写,feature子分支可读可写。
(一般不会对Matser主分支的代码审查,feature分支、feature子分支需要进行代码审查)
(2)组长安排每位团员的编码模块工作,每位团员进行编码,并且提交代码,再pull request推送到feature子分支。
(3)组长或团员对feature子分支提交的源代码进行轻量级的代码审查。
(4)组长或团员对feature子分支提交的源代码有质疑的进行代码审查,并通知负责该feature的分支的团员进行修改源代码,修复已知的问题。
(5)组长或团员确认对feature子分支提交的源代码通过代码审查之后,由组长负责将feature子分支合并到feature分支上。
(6)当各个feature分支的编码工作完成之后,再合并到Matser主分支。
(7)发布软件之前,进行一次正式的代码审查。(这个过程比较痛苦,代码过多,看情况而定。)
PS:代码审查应该注意以下几点:
(1)是代码审查,不是浏览代码。(不禁让我想起以前小学老师在抄写汉字的作业本子写的一个大字“阅”。)
(2)代码要分量审查,不要大量审查。(大多数的专业人士都这么说,符合实际情况。)
(3)代码要互检,不要单检。(三人行必有我师,即便是圣人孔子,也要虚心请教别人。)
(4)对有质疑的代码进行详细的注释,及时反馈提出问题与优化建议。(不要老是挑完毛病又不告诉别人怎么做,不一定所有人都很聪明,一听就懂,所以建议把优化建议说出来。)
Code review的项目
Code review的优缺点
优点:提高代码质量,促进团队沟通与知识共享,发现代码的潜在漏洞。
缺点:增加工作负担,影响人际关系。
总结:代码审查是个好方法,但不一定适合所有开发团队与软件产品。
生命周期较短的软件项目或经验不足的开发团队就不建议进行代码审查。
代码审查建议归建议,勉强没幸福。
探究代码审查(Code review)的更多相关文章
- 代码审查 Code Review
为什么要做代码审查 代码审查最主要目的是保证软件质量,找出及修正在软件开发过程中的错误.同时,通过不同能力评审者对代码的分析和建议,可以很快提升编码能力和编码修养. 1. 保证软件质量 通常软件开发完 ...
- 代码审查Code Review
代码审查清单 常规项 代码能够工作么?它有没有实现预期的功能,逻辑是否正确等. 所有的代码是否简单易懂? 代码符合你所遵循的编程规范么?这通常包括大括号的位置,变量名和函数名,行的长度,缩进,格式和注 ...
- 作为开发人员,这四类Code Review方法你都知道吗?
本文翻译自:https://dzone.com/articles/4-types-of-code-reviews-any-professional-developer 转载请注明出处:葡萄城官网,葡萄 ...
- 代码审查 (Google牛人谈Code Review)
代码审查 (Google牛人谈Code Review) 在上一篇博客里我暗示自己将不在为Google工作. 我还没有决定好去哪儿-有几个非常不错的工作机会让我选择.鉴于这段时间内我不受雇于任何公司,我 ...
- 程序员必备技能:代码审查 (Google牛人谈Code Review)
在上一篇博客里我暗示自己将不在为Google工作. 我还没有决定好去哪儿-有几个非常不错的工作机会让我选择.鉴于这段时间内我不受雇于任何公司,我想我可以写点和专业相关的东西,这些东西很有趣,但是如果我 ...
- Jupiter Code Review Reference -- Jupiter代码审查工具使用参考
Jupiter Code Review Reference -- Jupiter代码审查工具使用参考 (修改版) 原创 2010年07月06日 10:43:00 标签: 审查 / reference ...
- 我们是怎么做Code Review的
前几天看了<Code Review 程序员的寄望与哀伤>,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大家一起分享.探讨.我们为什么要推行Code ...
- Code Review 程序员的寄望与哀伤
一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测 ...
- Code Review Tools
Code Review中文应该译作“代码审查”或是“代码评审”,这是一个流程,当开发人员写好代码后,需要让别人来review一下他的代码,这是一种有效发现BUG的方法.由此,我们可以审查代码的风格.逻 ...
随机推荐
- vue-cli 2.* 中导入公共less文件
在新版的Vue CLI 3中,如何导入公共less文件在文档里已经描述的很清楚了,但是在2.*的版本中,我没有查到相关的办法,网友的办法又相当复杂,于是我推荐给大家一个很简单的办法. 首先,会用到we ...
- 实现添加相关资源的弹出ifreame 并实现多选框
项目中:语音导览添加相关展品 字段:relactiveExhibitItem 长度 varchar2000 <div class="control-group"> &l ...
- Elasticsearch入门教程(四):Elasticsearch文档CURD
原文:Elasticsearch入门教程(四):Elasticsearch文档CURD 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接: ...
- 剑指offer-6:数值整数次方
一.题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 二.解题思想 分类讨论,充分考虑每种可能. exponent :0,1,& ...
- node.js安装后输入“node -v”提示'node' 不是内部或外部命令,也不是可运行的程序的解决方法
换个电脑,重新搭配环境的时候遇到的问题.node.js已经在官网进行下载安装了,但是VScode里面显示不是内部的命令,也不是可运行的程序 但是在cmd控制台还是能查到的 借助网上的方法进行了测试和调 ...
- 2019-11-29-WPF-轻量级-MVVM-框架入门-2.1.2
title author date CreateTime categories WPF 轻量级 MVVM 框架入门 2.1.2 lindexi 2019-11-29 10:16:10 +0800 20 ...
- zabbix 问题
初始化账号和密码 Admin zabbix 出现 :Zabbix server is running No检查zabbix是否有运行 ps -ef|grep zabbix systemctl rest ...
- Big Data(七)MapReduce计算框架
二.计算向数据移动如何实现? Hadoop1.x(已经淘汰): hdfs暴露数据的位置 1)资源管理 2)任务调度 角色:JobTracker&TaskTracker JobTracker: ...
- userdel 删除用户
userdel 删除用户 1.命令功能 userdel 删除指定用户及该用户的相关的文件. 2.语法格式 userdel option login 选项 选项说明 -f 强制删除用户账号,即使用户 ...
- element-ui升级笔记;echarts图表100px问题
1.element-ui的2.7以后的版本支持树形table结构的数据,考虑优化一下表格,就升级了,但是升级到最新的版本2.12发现table都出不来了,于是降级到2.7.目前功能正常,2.12的bu ...