背景
公司业务飞速发展,技术团队不断扩张,面对这样的局势,技术团队引入了很多高P的人才,他们有着不同的大公司背景,在引导团队不断向前的同时,也面临着技术上的挑战。
1、大部分技术人员来自不同的公司,有着不同的技术背景,也深受着以往公司的技术文化影响,大家的编码风格、编码规范都带着过去的影子。
2、甚至有些同学不知道做单测意义,觉得测试同学有接口自动化就足够。
3、团队内部同一个项目中也会出现不同的风格,开发主管也没有那么多精力去review开发的每行代码。
这个时候就需要通过一些技术手段来解决代码规范检查的问题,协助开发完成单测、安全检查。通过一些自动化的方式来度量开发的代码质量,并能够及时发现问题,保证开发提交的代码都是高可用,高质量的。同时可以为团队的管理人员提供一些有效的量化结果,指导做一些流程和技术上的优化。通过提升研发代码质量,增强研发对于提交测试代码的信心。同时保证代码的高质量,高可用性,高可读性,随时保证代码分支的代码纯净,并能够很好的支持CI/CD。为达到上述目的,我们开发了代码度量平台。
目标
平台目标:
· 代码优化的依据
· 衡量研发质量
· 做到质量闭环
具体实现分以下四个方面来逐步实现。
规范化: 1. 编码规范 2.二方包 发布规范 3.三方包引入规范
自动化: 1. 自动化分析 2. 自动化统计 3. 自动化生成分析报告
定制化: 1. 结合各业务线特点制定 公司/业务线/敏捷组/项目组 四个级别的 扫描规则
流程化: 1. 绑定研发流程 2. 前置扫描过程
代码度量平台应用列表展示
应用新增页面
质量检查详情
代码度量平台设计
平台设计
引入使用 SQALE代码质量评估模型的SonarQube进行代码静态扫描,辅以 Cobra 的进行代码审计,Synk 进行三方包漏洞扫描,形成一套完整的代码度量工具链。
其中编码规约方面,我们引用以阿里巴巴Java开发手册为基准的P3C规则,结合业界权威 FindBugs,PMD 等扫描规则集,形成了酷家乐专属定制的Java编码规范: KuJava规则集。
技术架构
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理