本文将详细阐述 腾讯云 AI 代码助手团队和 CR 团队在智能化代码评审领域的技术探索与应用实践。文章分为上下两篇,此为上篇,下拉至底部可查看下篇文章内容。
全文阅读约 5-8 分钟。

引言
基于大模型技术为 AI 智能代码评审(AI Code Review,以下简称 AICR)带来了新的机遇与挑战,腾讯 AI 代码助手团队和 CR 团队基于腾讯集团开发人员与腾讯云广大开发人员/企业客户的 MR/CR 场景 (MR: Merge Request;CR:Code Review),结合大模型技术推出了智能代码评审解决方案,包括基于 diff 片段、file 文件、edior 编辑文件的 AI 辅助评审、code suggestion、生成 MR commit message ,此外在腾讯集团内部还在源代码管理平台实践了基于 AI 实现 MR 摘要生成、智能评审意见生成、代码问题 AI评审修复意见生成等功能,全面助力广大开发人员提升评审效率和代码质量。

CR背景与挑战

代码评审 (Code Review, 以下简称 CR) 是确保代码质量的重要途径之一。在软件开发过程中,尤其在大型开发团队开发过程,业务需求/问题修复的发布上线涉及多个开发人员的协作以及一套完整的版本管理质量保障体系,避免出现协作、代码风格等不一致带来的交付延期和代码质量影响。
通常,开发人员利用版本控制系统(如 Git)来减轻协作过程中出现的错误率和确保代码质量一致性,因此产生了分支管理,以 Gitflow workflow 分支管理规范为例,如图1,可看出研发协作过程是非常复杂的,伴随每次的业务需求开发、问题修复每次都会创建一个分支,每次分支间的合并都会产生一次合并请求,合并请求简称为 MR (Merge Request),在研发过程中高频的 MR 请求也就涉及到高频的 CR 需求

图1 Gitflow workflow 分支管理规范
分支定义:分支可以被看作是项目历史的轻量级移动指针,也是开发人员编码内容的载体。当你创建一个分支时,Git 会创建一个新的指针指向当前分支的最新提交(commit)。之后,当你在这个新分支上进行提交时,这个分支的指针会向前移动,而其他分支的指针保持不变。
分支说明: master (main) 为主干维护分支,长期维护的稳定的分支,其他分支介绍及 Gitflow workflow 详见:
https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

代码评审 (Code Review, CR) ,是软件开发过程中至关重要的一部分,是保障代码编码过程中最后一道质量保障,如图2 传统人工 CR 流程。长期以来,频繁的 CR 以及沟通协作,造成评审低效且难把控,开发与评审者面临系列挑战,具体表现为:


图2 传统人工 CR 流程

结合大模

最低0.47元/天 解锁文章
197

被折叠的 条评论
为什么被折叠?



