1、编程现场和智能同侪李杨2023 China DevOpsDays-8月12日 北京-百度CloudIDE及智能化代码开发实践李杨百度工程效能部资深研发工程师 百度资源研发工程师 云端开发平台(iCoding)的技术负责人。主要负责云IDE的整体设计及开发工作 AI编程助手(Comate)落地主要负责人 百度一级专利发明人,名下国内外发明专利10余个,已获授权 国家重点研发计划基于人机结对编程与协同进化的智能敏捷开发云平台技术骨干讲师简讲师简介介3摘要摘要现代化编程现场-CloudIDE背景介绍-CloudIDE如何助力效能提升-CloudIDE技术架构介绍-CloudIDE场景介绍大模型驱动的
2、智能助手-百度代码生成工具介绍-Comate场景演示-百度的落地效果-未来的展望与思考开发环境搭建开发环境搭建比较耗时环境跟代码库或者跟应用没有关联,新项目难以接手同组中开发人员的环境不统一带来问题难以查找问题发现较晚,修复问题成本高编码规范检查在准入阶段发现,在打回修改,效率低单元测试不能在开发环境迅速验证编码规范不能自动格式化,手动改规范比较耗时编程现场数据难以收集,单兵效率数据难以衡量编码现场数据具有瞬时性,数据量较大,本地开发的话难以收集。编程现场的数据是衡量单兵效率的重要指标,没有数据支撑,团队及个人不能了解效率损耗的具体因素平台众多切换成本高开发常用平台10+,需要多个平台反复切换
3、完成各项研发工作打断开发思路带来较大的效率损失背景介背景介绍绍-为为什么要做什么要做CloudIDECloudIDE?研发工程师工作每天一半以上的时间是在电脑前工作,而这一半的里平均每小时切换13次工作任务 通过调研,82%的工程师认为认为平台间的切换影响了他们的工作效率工程师编码同时还需要处理的工作需求代码扫描文档代码评审单测测试编译联调修Bug沟通流水线搜索研发工作台需求管理平台缺陷检查代码仓库代码规范检查单元测试平台云编译平台代码评审单元测试内存泄露扫描联调服务代码搜索服务代码生成以以CloudIDECloudIDE为为中心中心统统一研一研发发入口入口Devops能力左移助力效能提升软件
4、工程里讲,在开发过程中问题越早被发现,修正成本越低,开发成本也越低,开发过程中就会减少大量的重复工作。所以测试能力的左移的终极状态是:编程现场图中橙色线条代表了传统测试发现缺陷的时间。如果我们能把测试活动向左移动,那么就意味着修复成本大幅下降需求管理需求管理需求需求迭代管理迭代管理任务管理任务管理本地编码规范本地编码规范开发开发开源安全扫描开源安全扫描代码准入代码准入编码规范编码规范单元测试单元测试自动化回归自动化回归云端编译云端编译可维护性检查可维护性检查安全扫描安全扫描全量源码扫描全量源码扫描测试测试全量安全扫描全量安全扫描测试用例管理测试用例管理压力测试压力测试全量静态扫描全量静态扫描性
5、能测试性能测试DIFFDIFF测试测试异常测试异常测试包管理规范包管理规范上线验证上线验证需求管理需求管理需求需求任务管理任务管理开发开发编码规范检查编码规范检查代码评审代码评审云端编译云端编译单元测试单元测试可维护性检查可维护性检查开源安全扫描开源安全扫描代码准入代码准入安全扫描安全扫描容量测试容量测试全量源码扫描全量源码扫描测试测试全量安全扫描全量安全扫描测试用例管理测试用例管理压力测试压力测试全量静态扫描全量静态扫描性能测试性能测试DIFFDIFF测试测试异常测试异常测试包管理规范包管理规范上线验证上线验证容量测试容量测试7数字化度量效率分析团队协作能力代码质量开发协作次数结对编程时长参
6、与CR次数实时纠错数据等研发数字化开发者基于开发者行为数据 分析编码时长、研发被打断次数等开发者基于在线化的云IDE内完成开发工作,在编程现场产生海量的编程现场数据,这些数据具有瞬时性特点,在单兵提效又扮演着至关重要的角色。所以建设成编程现场大数据基础设施,形成完整的批量、流式数据采集能力也至关重要。构建自动采集效能数据的能力构建自动采集效能数据的能力设计效能度量指标体系设计效能度量指标体系建立效能度量分析模型建立效能度量分析模型设计和实现效能度量产品设计和实现效能度量产品以以编程现场数据留存-单兵提效提供数据支撑CloudIDECloudIDE控制台控制台应用层应用层CloudIDEClou