首页 > 其他分享 >中级开发的经验之谈-代码review流程规范

中级开发的经验之谈-代码review流程规范

时间:2024-07-05 15:58:00浏览次数:21  
标签:comment 中级 代码 经验之谈 MR Owner reviewer review

前提

1、项目已接入公司代码规范,CR 过程中不纠结代码风格,借助pre-commit 关联 lint,避免代码中出现的debugger、console等...
2、接入 husky,规范commit message

  • feat:新特性

  • fix:修复bug

  • chore:优化,如项目结构,依赖安装更新等

  • docs:文档变更

  • style:样式相关修改

  • refactor:重构

一、角色职能

author:需求开发者

  1. 对复杂业务写明相应注释,MR 根据MR模版填写基础信息,便于 reviewer 理解。

  2. 对于 reviewer 提出的comment,及时响应,完成 comment 修改后及时反馈,commit 提交信息备注,如 review:xxx,保证复检效率。

  3. 小批量、多批次提交,每次提交的 review 的代码量要少,commit 写明具体提交背景。

reviewe:cr 参与者,一般有项目负责人或项目参与者组成

  1. 说明 comment 等级,reviewer 对相应的代码提出评价时,需要指明相应等级,如

    • [ fix ]:xxxxx;此处需强制修改,提供修改建议。

    • [ advise ]:xxxxx;此处主观上建议修改,不强制,可提供修改建议

    • [ question ]:xxxxx;此处存在疑虑,需要 author 作出解释

  2. 在不影响自我工作的前提下,尽快响应,拆分 review 粒度,使快速响应成为可能。Google 的中位数是 4 小时,最大不要超过 1 天。

二、CR 标准

  1. 代码注释(复杂 特殊业务逻辑 文档等)

  2. 代码可读性(过多嵌套、冗余、变量命名,功能独立等)

  3. 代码扩展性(模块拆分 / 设计合理)

  4. 遵守 review 范围,原则上只针对此次改动范围进行 review

三、CR 流程

1. self-review

  • MR 基础信息是否填写完整

  • Owner 确认已完成充分自测

2. CR

  1. Owner 启动开发时发起 CR,需求任务关联 reviewer,MR 尽可能详细的描述基金信息,例如:需求文档地址、本次功能改动点、设计思路、技术方案地址等,推荐接入 MR 模版。

  2. Owner 成功发起 MR 后,需在 prowork 上指派任务给相应的 reviewer,任务需注明 MR 地址 及 开发周期。

  3. Reviewer 基于 MR 进行 code review,如对 MR 有任何问题,发起 Diss,review 完成后知会 Owner 结果,如有 Diss,Owner需对每个 Diss 进行回复,直至所有的 Diss 状态变为 resolved,可进入提测阶段。

  4. 如果测试或者验收环节发现问题,Owner 需对代码进行修改,需发起新一轮的 MR, 直至测试环境代码验收通过。

  5. 确认代码可发布至生产环境,知会项目负责人合并代码进行发布。

写在最后

代码 review 的目的是为了保证项目代码的健壮性、规范性,同时达到业务/设计共识。review 不是批判,针对 review 给出的 comment,你觉得有不合理的建议,可以详细的说明自己的看法及原因;reviewer 持有的观念并不一定是合理的,reviewer 注意友好 comment,具体什么问题,应该怎么解决,可以给出适当的范例;对于比较好的代码,也可以给出足够的赞美。review 是一个相互学习的过程,享受 review,见贤思齐,不贤而自省。

标签:comment,中级,代码,经验之谈,MR,Owner,reviewer,review
From: https://blog.csdn.net/hebtu666/article/details/126948572

相关文章

  • 数据库经验之谈-数据库join时必须使用索引
    数据库join时必须使用索引,否则效率急剧下降。当执行数据库JOIN操作时,如果没有使用索引,则数据库需要执行全表扫描(FullTableScan)来查找匹配的行。这意味着数据库将检查表中的每一行来确定是否有匹配的行。对于小型数据集,这可能不是问题,但随着数据集的增长,全表扫描的成本急剧......
  • (菜鸟)软考经验贴-中级软件设计师 ps:记性太差已经忘掉很多感悟了哈哈
    一、成绩和悄悄话考试内容是分为基础知识+应用技术两大块。基础模块全部选择题,应用模块是大题。机考改革之后都是上机考试,我个人的感受是没有想象中那么吓人啦,时间还算挺充足的。中级软件设计师考试时间是8:30-12:30,那天是8点,巡考的工作人员就开始催促进场了。我在的考场电脑两......
  • Windows Server 2025 中文版、英文版下载 (Inside Preview, updated Jun 2024) - 下一
    WindowsServer2025中文版、英文版下载(InsidePreview,updatedJun2024)-下一代Windows11ServerWindowsServer2025正式版发布在即请访问原文链接:https://sysin.org/blog/windows-server-2025/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org我们知道W......
  • 使用docx-preview打印文档时,页数超出和页面元素样式问题
    #在打印时调整内容边距及隐藏Header的问题和解决方案##问题描述在使用JavaScript代码唤起打印窗口时,生成的文档中`<section>`标签自带`padding`样式,这导致内容无法铺满整个A4页面。此外,页面中还有一个`header`元素会占据头部的一部分高度,需要在打印时去掉......
  • 系统地学习Lua编程语言,掌握其基础知识并应用于实际项目中;Lua编程语言中级开发的大纲,涵
    学习Lua编程语言的初级开发大纲可以帮助你系统性地掌握这门语言的基础知识。下面是一个详细的大纲,从基础语法到基本的编程概念,再到一些实用的库和工具。Lua初级开发大纲1.Lua简介Lua的历史与特点Lua的应用场景安装与配置Lua环境2.基础语法注释:单行注释和多行注释......
  • x.thumbnailer 修复psd缩略图/nemo-preview 自定义预览
    缩略图https://askubuntu.com/questions/1368910/how-to-create-custom-thumbnailers-for-nautilus-nemo-and-caja安装imagemagicksudoaptinstallimagemagick-6.q16/usr/share/thumbnailers/psd.thumbnailerhttps://moritzmolch.com/blog/1749.htmlcd/usr/share/thumbn......
  • Preview failedUnable to start the previewer. openPreviewerLog to check for detai
    DevEcostudio预览器报错 PreviewfailedUnabletostartthepreviewer.openPreviewerLogtocheckfordetails.有两种原因1.main_page.json     src下的路径是否重复        2.struct关键字声明自定义组件名称是否重复我自己排查出来的......
  • douyin商品评论数据接口(douyin.item_review)丨douyin平台实时API接口指南
    抖音商品评论数据接口(douyin.item_review)是抖音平台提供的一项实时API接口服务,旨在帮助商家和开发者获取、管理商品的评论数据。以下具体分析:接入准备申请互动管理权限:在抖音开放平台的管理中心,应用管理部分的详情中,找到接口权限,并申请“互动管理”权限。通过后,状态会显示为......
  • college2review
    大二上复习资料整理数电基础《数电》期末复习笔记通信网100道网络基础知识电机学电机可视化思维导图工程伦理复习笔记新视野读写3背诵课文及课后翻译......
  • 面向对象设计方法Review-02.抽象数据类型
    结构化开发方法基本思想:自顶向下,逐步求精,过程抽象,模块化技术概念:结构化程序设计:按照一定的原则与原理,组织编写正确且易读的程序的软件技术。结构化分析设计:数据流图、数据字典、模块结构图。优势:合理性(管理复杂性的有效手段:分解,抽象,层次)、正确性(依据规约,完成任务)程序&......