《A3--王敏--CR Copilot - 智能化代码评审的探索与实践.pdf》由会员分享,可在线阅读,更多相关《A3--王敏--CR Copilot - 智能化代码评审的探索与实践.pdf(40页珍藏版)》请在三个皮匠报告上搜索。
1、智能化代码评审的探索与实践王敏腾讯 代码智能化 高级研究员王敏(robinmwang)腾讯 高级研究员腾讯 研发管理部 code平台中心 代码智能化团队 高级研究员目前主要负责腾讯工蜂Copilot的软件测试、代码评审等相关智能化研究,保障腾讯内部开发团队的代码质量,提升公司内部团队的软件研发效率毕业于北京大学,软件工程专业,博士学历。曾在软件工程领域的ASE、FSE、TSE、软件学报等国内外顶级会议期刊上发表多篇学术论文,曾作为技术骨干参与国家重点研发计划基于大数据的软件智能开发方法和环境课题项目的技术研发。毕业后就职于腾讯公司,从事代码智能化等方面的研究开发工作 目录01CONTENTS0
2、203代码评审的概念和价值痛点智能化代码评审的现状与挑战智能化代码评审在腾讯的实践之路04智能化代码评审的未来与展望智能化CR 基本概念和价值痛点代码评审的基本概念代码审查(Code Review,CR)是指对计算机源代码系统化地审查,常用软件同行评审的方式进行,其目的是在找出及修正在软件开发初期未发现的错误,提升软件质量及开发者的技术。代码审查常以不同的形式进行,例如结对编程、非正式的看过整个代码,或是正式的软件检查https:/zh.wikipedia.org/wiki/代码审查相似概念:代码评审、代码走查、软件检查、合并审查Pull requestcode diff 1code diff
3、 2code diff nmergerepositoryCode Review代码评审的一般流程静态扫描/检测架构设计/重构业务复盘/讨论代码优化/规范团队学习/交流代码提交(diff)结果分析合入代码 CR概念宽泛,涉及面广 高质量CR,知识密集 CR高频发生,必不可少基于变更高频、重要包罗万象纷繁复杂丰富的评审经验深刻的知识背景代码评审的价值和企业痛点 价值:为什么做代码评审直接原因:防止潜在缺陷、确保代码规范、提出优化方案间接原因:完成知识转化、了解开发进度、增强团队意识 理想状态:多快好省、稳步迭代、共同成长 痛点:一切从评审者的角度出发技术原因:评审不易,需具备更丰富的开发经验和能力
4、非技术原因:没时间、不想看、CR不算工作量、存在社交距离 现实状态:排斥评审、流于形式、效率缓慢智能化CR 现状分析与主要挑战 智能化CR现状分析Review意见生成行间评论生成PR总体评价Code suggestion变更描述PR描述(High level summary)文件变更解释(Walkthrough)团队周报(概括近一周重要的PR修改)Squash merge msg 生成变更大小评估评审chat扮演多个不同领域的专业工程师,组合和过滤多方的评审意见(结合静态分析/漏洞检测等第三方工具)AICR Agent评审概览(summary+变更类型+工作量预估)diff评审commit m
5、sg 生成(基于git diff)chatSourcery、CodeRabbit、字节跳动Sourcery、gitlab DuoGoogle、Cruz-codeGitHub copilot、what the diff、CodeRabbit、github Duo、atlanssianGitHub copilot、CodeRabbitwhat the diffgithub DuoBito AIAgent(/describe)、What the diff(/wtd xxxx)、GitHub copilot、CodeRabbitBito AI、CodiumAIs PR-AgentCodeGeexCod
6、eGeex缺陷识别代码优化GitHub copilot、通义灵码、百度comateGitHub copilot、通义灵码、百度comateWeb产品形态IDE产品形态AICR智能化CR现状分析GitHub CopilotBito AIGitLab DuoAtlassian IntelligenceCodeRabbitCodiumAI百度百度 Comate阿里巴巴阿里巴巴 通义灵码通义灵码模型Codex/GPT4GPT4Vertex AI Codey text-bisonOpenAI GPT4/3.5OpenAI文心通义IDE插件PR描述Diff评审代码建议CR评估chat其他团队周报集成静态分