代码评审

DataWorks的强制代码评审是工作空间维度开启,开启后,开发人员提交的节点代码必须通过评审人员的审核才可发布。同时,您可指定代码评审的基线范围(即对哪类基线任务进行评审),把控高优先级任务的代码质量,防止任务运行失败阻塞其他任务运行。本文为您介绍代码评审的使用说明。

前提条件

背景信息

DataWorks的多个任务并发启动运行时,高优先级的任务会优先抢占资源。因此,为避免高优先级任务因代码不合规导致任务失败,从而长时间占用资源导致计算资源浪费,阻塞其他任务运行,建议将高优先级的任务添加至强制代码评审基线范围,添加后,评审人员需对任务的代码质量进行把控,防止由于任务代码有误,未经审核直接发布上线后出现任务报错。

开启强制代码评审对节点提交发布流程的影响如下。

强制代码评审开启情况

功能说明

操作影响

未开启强制代码评审

提交节点时,通过指定代码评审人员的方式知会相关人员当前节点存在变更。

说明

此方式可知会工作空间下任意角色成员节点的变更情况。

该操作对节点的提交发布流程无影响,节点可正常提交发布。

开启强制代码评审

提交节点时,选择具有评审资格的人员进行代码评审,把控代码质量。

说明

若执行的是删除节点操作,则提交该节点时不会触发代码评审。

该操作会阻塞节点的提交发布流程,即暂停当前节点代码的提交发布,进行代码评审。

  • 当评审通过后,节点继续提交发布。

  • 当评审未通过,则节点无法被提交发布,您需要先处理代码问题,直至评审通过后才可继续提交发布节点。

使用限制

  • 仅DataWorks专业版及以上版本支持使用代码评审。

  • 空间管理员权限的用户才可管理工作空间是否启用代码评审。

  • 特殊类型节点(例如,循环、遍历等组合型节点以及非Python的资源文件)不支持发起代码评审。

使用流程

强制代码评审的使用流程如下表。

步骤

执行角色

说明

开启强制代码评审并配置评审信息

空间管理员

空间管理员可开启代码强制评审并根据业务需求配置评审人员及待评审的节点范围。开启后强制代码评审才会生效。

说明

开启强制代码评审会阻塞节点的提交发布流程。

发起代码评审流程

开发人员

开发人员提交节点时将触发代码评审,选择评审人员后将生成评审单。

说明

标准模式工作空间下,开发人员可通过任务发布界面批量发起代码评审,详情请参见发布任务

查看与审批代码评审单

  • 节点提交人

  • 代码评审人

节点提交人及代码评审人可通过代码评审界面查看并处理已发起的评审及名下待评审记录。

开启强制代码评审并配置评审信息

  1. 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据开发与治理 > 数据开发,在下拉框中选择对应工作空间后单击进入数据开发

  2. 进入安全设置与其他界面。

    1. 在DataStudio页面单击左下角的设置图标,进入设置页面。

    2. 单击设置页面的安全设置与其他页签,进入安全设置与其他页面。

  3. 开启强制代码评审并配置评审信息。

    代码评审区域,您可开启代码强制评审开发后,设置评审人员及评审基线范围。配置评审信息

    参数

    描述

    强制评审

    用于配置当前工作空间指定范围内的节点提交时是否要进行代码评审。

    • 开启:当前工作空间的节点代码提交时将强制进行代码评审,您需要指定代码评审人,待评审通过后才可发布。该操作会阻塞节点的提交发布流程。

      说明

      开启强制评审后才可设置项目代码评审人指定强制代码评审基线范围

    • 关闭:当前工作空间的节点代码提交时无需进行代码评审即可发布。您也可以选择在节点提交时配置代码评审人,但该操作仅为知会相关人员节点此次的变更操作,不会阻塞节点的提交发布流程。

    项目代码评审人

    用于配置提交节点时选择的评审人员策略。

    • 任意开发角色用户:节点发起代码评审后,需要当前工作空间下任意开发角色的用户评审通过后才可提交发布。具体由哪个用户评审,则在提交节点时由节点提交人进行选择。

    • 指定开发角色用户:节点发起代码评审后,必须由指定开发角色的用户评审通过后才可提交发布。提交节点时默认由此处配置的评审人员进行评审。

    说明
    • 仅支持选择当前工作空间下具有开发角色权限的用户作为评审人员。

    • DataWorks支持配置一个或多个代码评审人。当配置多个评审人时,代码是否通过评审,取决于您选择的评审人员策略。

    指定强制代码评审基线范围

    用于配置哪些节点在提交时需要进行代码评审。

    您可根据任务所在的基线优先级来选择要强制进行代码评审的节点,逻辑说明如下:

    • 设置基线评审范围为非基线任务时,当前工作空间中新建的任务需要审批。

    • 设置基线评审范围为对应级别的基线任务时,当前工作空间中该级别基线上的节点提交时需要审批。

    • 基线任务的数值越大优先级越高,基线任务的优先级高于非基线任务。

    关于基线控制任务优先级的相关介绍,详情请参见智能基线概述

发起代码评审流程

开发人员在提交节点时,可指定一个或多个代码评审人员。不同模式的工作空间代码评审流程说明如下表。

说明
  • 当节点已存在正在进行的代码评审,发起新的评审后,旧评审流程的结果将自动作废,不再生效。

  • 若执行的是删除节点操作,则提交该节点时不会触发代码评审。

工作空间模式

评审流程说明

代码评审入口

标准模式

开启强制代码评审后,节点的提交发布流程将被阻塞直至节点代码评审通过。评审通过后,节点才会被提交,您可进入任务发布界面继续发布任务。

  • 单个节点发起代码评审

    • 节点提交时,可在提交弹窗中发起代码评审。

    • 节点提交后,可单击节点编辑页面工具栏中的代码评审图标发起代码评审。

  • 多个节点批量发起代码评审

    • 提交业务流程时,可在提交弹窗中发起代码评审。

    • 进入任务发布 > 创建发布包,批量发起代码评审。

      说明

      进入创建发布包,详情请参见发布任务

简单模式

开启强制代码评审后,提交节点时选择仅发起代码评审,需要待评审通过后再次单击提交,节点代码才会被提交至生产环境。

  • 单个节点发起代码评审

    节点提交时,可在提交弹窗中发起代码评审。

  • 多个节点批量发起代码评审

    提交业务流程时,可在提交弹窗中发起代码评审。

查看与审批代码评审单

  1. 进入代码评审页面。

    您可通过如下方式进入代码评审页面:

    • 在DataStudio页面单击顶部菜单栏左侧的全部图标,选择全部产品 > 数据开发与运维 > 代码评审

    • 在目标节点的编辑页面,单击工具栏的代码评审图标进入。

  2. 查看并处理评审单。

    在代码评审页面,您可查看名下已发起或参与审核的评审任务列表,并根据实际情况处理评审任务。查看评审单

    区域

    描述

    1

    在该区域可执行如下操作:

    • 代码评审人员可在我审核的页签查看并处理名下的评审任务。

    • 节点提交人可在我发起的页签查看名下已发起的评审任务。

    2

    在该区域,您可通过评审状态、评审单名称、类型、提交人、提交时间等条件进行筛选,查找符合条件的评审单。

    3

    在该区域,可查看评审单的版本、评审状态等基本信息,或查看评审单详情并处理评审。

    查看详情及处理评审单主要包括:

    • 版本对比:对比节点不同版本的代码差异,快速了解节点变更。

    • 代码审核人处理评审单:

      • 评论:添加节点版本的描述。

      • 通过:该操作会触发代码审核检查器进行检查。审核通过后节点提交人可进入任务发布界面发布该任务。

        说明

        发布任务,详情请参见发布任务

      • 不通过:根据当前工作空间是否开启强制代码评审进行处理。已开启则会阻塞节点的提交发布,未开启则评审节点仍可继续提交发布。

      • 废弃:废弃当前评审流程。废弃后,当前节点版本可继续提交发布。

      • 重开:若您需要对已废弃的评审流程重新评审,则可执行重开