注册 / 登录

持续代码扫描的演进之路

分会场:  质量管理/智能运维/DevOps

 

案例来源 :

案例讲师

熊志男

京东商城-POP平台部 高级测试开发工程师

熊志男,十年以上软件质量领域工作,现任京东商城高级测试开发工程师;负责部门内百人研发团队的代码质量体系建设和持续集成基础平台搭建、建立持续集成及自动化测试流程。 同时组织翻译大量国外优秀测试行业文章,多次分享总结如何构建持续交付流程、从0到1建立代码质量体系、构建敏捷开发团队、如何开展自动化测试等课程。

扫描二维码分享案例

所在软件研发中心介绍

京东商城-POP平台部,属于京东商城-商城研发部下面的二级研发部门,主要通过系统平台建设来支撑京东商城开发平台的业务发展,并服务于京东第三方商家和京东内部运营人员。

 

建议该分享案例适用范围:

研发经理、工程师、质量管理、测试经理

 

为什么这个案例值得分享?

关于代码扫描,有很多工具和实践,但是目前很多比较好的案例要么是国外的企业,或者是通过收费的工具平台来实现的。而我们团队的实践是基于开源的方案,并且一步一步从下至上,从小到大发展过来的。希望能够分享给业界其他同行,并和大家一起交流。

 

 

案例简述

 

介绍本人所在研发团队两年以来从0到1实现持续代码扫描的过程及演进之路。随着业务快速发展,研发人员忙着实现业务需求,不知不觉中欠下了大量的技术债,代码冗余、结构混乱、有大量的潜在风险。为了支撑业务成倍的增长,亟需提升系统的外在质量和内在质量,内在质量的提高离不开自动代码扫描。自动代码扫描能够在人工评审之前过滤掉一些低级的问题,极大提高代码评审效率。团队从一开始是引入开源的代码扫描方案,小范围试用,一刀切的规范和标准;逐渐演进成为百人团队研发过程中重要的一环,并且实现规则定制化和流程差异化,以适用各个团队的实际需求。

 

案例目标

 

提升代码质量,清除代码违规、减少冗余代码、提升系统设计质量;帮助研发人员养成关注代码质量意识。

 

成功(或教训)要点

 

1.开始实施要规则简单明确,小范围试水;
2.持续跟进,持续成员培训,持续曝光代码质量增加领导关注度;
3.团队规则定制、结合团队工作流程制定扫描策略;
4.持续推广,影响兄弟团队,提升影响力。

 

案例ROI分析

 

基于开源框架实现的自动代码扫描实践,是投入产出比非常高的。初期需要投入一定的资源来完成平台的搭建并摸索实施方案,在形成完整方案和实用的流程以后,对于代码质量提升的效果明显。其中效果最显著的是低级违规的减少,其次是冗余代码及注释等相关指标的提升,更关键的是帮助研发工程师养成关注代码质量的习惯。

 

案例启示

 

大多数互联网企业研发团队都面临业务需求量大,工作强度高的现状。如果不花时间从根本上去提升系统的内在质量和外在质量,而一味去不断填坑儿,便会形成工作越来越忙,程序质量问题越来越多的恶性循环。因此本案例先从投入产出比较高的自动代码扫描入手,逐渐提升系统的内在质量,并培养研发工程师的质量意识。在方案实施的环节,最重要的是了解工程师日常工作的痛点,结合实际的工作流程,去制定符合团队现状的目标和实施策略;推进者更要站在工程师的角度而不是居高临下的态度去参与到整个代码质量改进过程中去。随着代码扫描方案的不断演进和工程师文化的推行,系统的内在质量不断提升,会大大减少低级错误而导致的无用工作,因此极大提高整个团队的效率,能够更快更好的交付价值给用户。

 

案例在团队中的意义

 

关于代码扫描,有很多工具和实践,但是目前很多比较好的案例要么是国外的企业,或者是通过收费的工具平台来实现的。而我们团队的实践是基于开源的方案,并且一步一步从下至上,从小到大发展过来的。希望能够分享给业界其他同行,并和大家一起交流。