专栏首页DevOps时代的专栏用 GitLab 的 Merge Request 做代码评审

用 GitLab 的 Merge Request 做代码评审

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

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产生的代码评审如何进行更精细化的流程管理之后可以继续讨论。

本文分享自微信公众号 - DevOps时代(DevOpsTimes),作者:CC先生

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于DevOps的Android交付工具链建设

    前言: 有人说 DevOps只适用于初创公司,有人说DevOps只适用于大公司,有人说DevOps只适用于互联网服务。事实胜于雄辩,我们来看看DevOps是如何...

    DevOps时代
  • 评审的艺术——谈谈现实中的代码评审

    曾经写过一点关于代码评审(code review)的文章,比如这篇和这篇,现在觉得关于它的认识又有了不少更新。软件工程的技术和实践分成两部分,一部分是和书本知识...

    DevOps时代
  • 评审的艺术 — 谈谈现实中的代码评审

    曾经写过一点关于代码评审(code review)的文章,比如这篇和这篇,现在觉得关于它的认识又有了不少更新。软件工程的技术和实践分成两部分,一部分是和书本知识...

    DevOps时代
  • 百万年薪程序员博文:Python程序员心得,我视它为生存指南!

    我个人认识一些非常有才华的开发人员,他们可以一帆风顺地创建极好的软件。正是这些天赋人士,使得外行人对我们这个行业充满了很高的期望。但我要说的一个可悲的事实是:并...

    一墨编程学习
  • 平庸开发者的生存指南

    我个人认识一些非常有才华的开发人员,他们可以一帆风顺地创建极好的软件。正是这些天赋人士,使得外行人对我们这个行业充满了很高的期望。但我要说的一个可悲的事实是:并...

    养码场
  • 我只是一名平庸的开发者

    我就不是这些闪耀的新星,我只是一名平庸的开发者。如果你也不是天才玩家,那么本文将指导你如何在这个行业中生存下去。

    程序员宝库
  • 每个程序员应该阅读的10本经典书籍

    每个程序员应该阅读的10本经典书籍 书籍是知识和智慧的重要来源。但不幸的是,现在很多人已经不愿意看书了。程序员更是罕见地会去读书,最常见的依靠互联网搜索结果来找...

    用户1289394
  • 三年0故障是如何做到的?

    近段时间我的团队,其他团队一直在强调代码质量,减少故障。入职快三年半了,距离我上次故障也快三年半了,所以在这方面有些感触和大家分享一下,我从 个人经历 , 代码...

    IT大咖说
  • 说一说前端代码检查

    In computer programming, lint was the name originally given to a particular prog...

    IMWeb前端团队
  • 说一说前端代码检查

    通常,代码编辑器(或IDE)的插件会帮我们做一些静态语法检查的工作,但是如何自定义语法规则,如何集成到开发流程中,仍然需要我们花一些时间去了解。

    IMWeb前端团队

扫码关注云+社区

领取腾讯云代金券