用 GitLab 的 Merge Request 做代码评审

2019 年 5 月 5 日 DevOps时代

在目前已使用的质量内建的工程实践中不可否认的一个实践为代码审查 它被用作提高产品交付质量和提高开发过程效率的有效措施。

Git又是目前当红的源码管理工具,若你的团队目前已经选用了GitLab来作为托管工具,那此文中你可以学到如何通过GitLab的Merge Request(合并请求)进行代码审查以及我们遵循的现有代码审查最佳实践来改进工作流程。

在我们讨论如何进行代码审查之前,让我们先来回顾一下代码评审的一般原则。

代码评审的一般原则

  • 代码评审是任何开发过程中不可或缺的一部分 - 将其打印出来并放在墙上以便记住。可参考之前写过的你的代码评审需要来一次清单革命!

  • 代码评审是在小段的逻辑完整的代码片段上执行的,例如功能,任务,错误修复,改进等。

  • 只有通过审核的代码才会发送到测试部门。

  • 该项目的所有开发人员都会进行代码评审,无论他们的级别如何。

  • 项目的所有开发人员都应该通过代码评审,无论他们的级别如何(初级开发人员也应该审查经验丰富的中高级专家的代码)。

接下来我们将介绍如何使用GitLab提供的工具来进行代码评审。

GitLab中的merge request指的是把代码从一个分支合并到另一个分支上做的操作。

创建一个Merge request会涉及到的主要参数为:

  • source branch

  • target branch

  • title

  • description

  • assignee

使用Merge Request时的操作步骤

  1. 编写代码并将其推送到单独的分支。

  2. 为主要开发分支创建合并请求。Assignee以及说明字段和评论中被提到的那些人将通过电子邮件通知合并请求。如果需要某一位开发人员关注,你可以在描述字段中@该名开发人员。

  3. 等到MR被接受或拒绝,并提供有关必要修复的评论。

  4. 参与有关修复的讨论。 (GitLab允许回复评论)

  5. 修复。

  6. 将更改推送到你的分支。

  7. 打开一个新合并如果最后一个MR被关闭(如果合并请求未关闭,它将自动更新,直到最后一次提交为止)。

  8. 通过注释合并请求或以其他方式报告已实施的修复。

应该将Merge Request分配给谁

对于合并请求,它们的分配取决于各种因素。根据项目的人数和专业水平,可以有不同的选择。因此,如果您是团队中唯一的开发人员,请为自己分配合并请求。

否则,请与另一位在项目中独立的开发人员交谈,并让他审查彼此的代码。文档审查通常也是必要的,因为在您执行此操作后,您将确保其他开发人员可以在必要时使用您的代码。

如果您是项目的两名开发人员,请相互分配合并请求。如果有三个或更多开发人员,您可以自由选择。

你的团队可以在工作日的开始和结束时或根据要求随时进行代码审查。团队可以决定何时进行代码审查,最重要的是团队成员之间的持续协作。

用Merge Requests产生的代码评审如何进行更精细化的流程管理之后可以继续讨论。

作者:CC先生之简书
链接:https://www.jianshu.com/p/198915ac64ba

DevOps 国际峰会 2019 · 北京站,18个专场涵盖 DevOps 全领域技术!

7月5日~6日,北京等您!

点击阅读原文,访问大会官网

登录查看更多
4

相关内容

【2020新书】实战R语言4,323页pdf
专知会员服务
98+阅读 · 2020年7月1日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
160+阅读 · 2020年5月14日
【2020新书】如何认真写好的代码和软件,318页pdf
专知会员服务
63+阅读 · 2020年3月26日
【资源】100+本免费数据科学书
专知会员服务
105+阅读 · 2020年3月17日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
Google代码Code Review实践指南发布
Python程序员
3+阅读 · 2019年9月7日
重磅:git checkout 未来将消失
Python程序员
15+阅读 · 2019年8月22日
GitHub超2.7万星,最全Python入门算法来了
新智元
5+阅读 · 2019年4月28日
GitHub 热门:别再用 print 输出来调试代码了
Python开发者
27+阅读 · 2019年4月24日
WebAssembly在QQ邮箱中的一次实践
IMWeb前端社区
13+阅读 · 2018年12月19日
号称“开发者神器”的GitHub,到底该怎么用?
算法与数据结构
4+阅读 · 2018年3月29日
Deep learning for cardiac image segmentation: A review
Arxiv
21+阅读 · 2019年11月9日
Arxiv
7+阅读 · 2019年4月8日
Neural Approaches to Conversational AI
Arxiv
8+阅读 · 2018年12月13日
Arxiv
4+阅读 · 2018年5月10日
VIP会员
相关资讯
Google代码Code Review实践指南发布
Python程序员
3+阅读 · 2019年9月7日
重磅:git checkout 未来将消失
Python程序员
15+阅读 · 2019年8月22日
GitHub超2.7万星,最全Python入门算法来了
新智元
5+阅读 · 2019年4月28日
GitHub 热门:别再用 print 输出来调试代码了
Python开发者
27+阅读 · 2019年4月24日
WebAssembly在QQ邮箱中的一次实践
IMWeb前端社区
13+阅读 · 2018年12月19日
号称“开发者神器”的GitHub,到底该怎么用?
算法与数据结构
4+阅读 · 2018年3月29日
Top
微信扫码咨询专知VIP会员