阿里巴巴移动研发中的静态代码扫描体系实践
需积分: 10 44 浏览量
更新于2024-07-17
收藏 5.44MB PDF 举报
"《静态代码扫描体系在阿里移动研发的应用》是淘宝技术部高级无线开发工程师芸墨(龚能)在2018云栖大会·南京峰会上的分享,内容涉及手机淘宝的研发历程、面临挑战、阿里巴巴移动静态代码扫描体系的构建以及EMAS持续交付解决方案的详细介绍。"
在此次分享中,龚能详细阐述了手机淘宝从工具型APP(1.0)、平台型APP(2.0)到生态型超级APP(3.0)的演进历程,强调了在ALLIn无线策略下,手机淘宝面临的挑战包括功能与性能的优化、效率与稳定性的提升、业务创新以及生态协同。手淘现状显示其具备动态化能力、质量保障、集成开发、自主发布、模块化开发、高效管理、自主灰度以及完善的监控体系,但也存在如问题发现滞后、质量问题感知模糊、代码风格不统一和技术经验无法有效沉淀等问题。
为解决这些问题,阿里巴巴构建了移动静态代码扫描体系,该体系贯穿整个研发流程,采用数据驱动的方式进行质量控制。通过质量大盘和问题分析,实现对代码质量的精确度量和问题快速定位。同时,该体系具有灵活性,允许每个产品自定义开启规则和等级,且在提交集成前进行卡口生效,确保每个客户端应用达到预设的标准。此外,还支持问题详情和列表展示,以及规则和插件的定制,有效降低了线上问题的排查和解决中的重复劳动。
阿里巴巴移动静态代码扫描体系的实际效果显著,平均每天上报的问题数超过3000个,严重问题解决率达到100%,通过规则匹配的crash降低率达到了30%。
为了进一步提升研发效能,EMAS持续交付解决方案应运而生,它支持3种研发模式:Native(极致体验、高性能)、跨平台(如WEEX,实现三端统一、高效率)、混合开发。EMAS关注5大持续交付职能域,包括研发效率、应用性能和应用质量。通过集成多种工具,如Gradle插件、XCodeBuild、weex开发套件等,EMAS在研发阶段实现了依赖管理、编译缓存、证书托管等功能;在测试阶段,除了静态扫描和专项测试,还包括智能Monkey、真机适配、性能自动化和UI自动化;发布阶段则涵盖了完整包、patch包、动态资源等多种发布对象,并确保线上故障恢复时间小于1小时,Crash率低于0.1%。
阿里移动研发通过静态代码扫描体系和EMAS持续交付解决方案,实现了研发效率的显著提升、应用性能的增强和应用质量的保证,为大规模、复杂性的移动应用开发提供了有力的技术支撑和流程优化。
575 浏览量
545 浏览量
1508 浏览量
184 浏览量
301 浏览量
603 浏览量
407 浏览量
848 浏览量
9552 浏览量