Code Review
wanyakun 4/22/2019
定义:对源代码进行系统检查的过程
目的:查找各种缺陷、功能实现的问题、代码编码合理性、性能优化等,提高软件总体质量和开发者自身水平
# Code Review的形式
Code Review的形式一般有两种,
- Team Review, 组织会议,让代码owner讲自己代码的实现和思路,其他人发表意见进行讨论。
- Single Review, 一对一评审, ower提交代码,reviewer在空闲时帮忙评审代码。
代码质量监管仅仅靠架构师是不够的,需要所有经验丰富或有专长的同学参与其中。大部分公司选择Single Review。
# Code Review工具
- Phabricator (Facebook开源)
- Gerrit (Google开源)
- 基于Pull Request的工作流方式
前两种需要部署、学习和迁移Git代码。 现在Git是最流行的代码管理工具,结合gitlab的pull request,很容易实现code review
# Code Review流程
在gitlab里做好code review需要有个前提,就是做好权限管理。每个成员在项目里都有对应的角色,例如owner,master,developer.
然后项目代码里设置受保护分支,master一定是受保护的分支,还可以根据需要设置其他分支为受保护分支。developer权限的成员是不能向master或者其他受保护分支push代码的
开发中的整个流程就是:建立feature分支-->编写代码-->push分支代码-->gitlab上发起一个合并请求(pull request)-->审核人员审核代码,如有需要,提出修改意见-->开发人员修改代码-->审核人员审核通过,合并代码,删除分支
当代码没有问题以后, 需要将任务代码merge到主代码库, 有两种方法:
- Reviewer可以在pull request页面点击Merge按钮, 把代码merge到主代码库
- Reviewer手动本地merge, 并push到服务器
总结:核心流程就是 建立分支--发起PR请求--审核--合并,不断的循环反复。