代码质量在研发过程中是一个很重要的因素,更好的代码质量能产生更少的 BUG,也能降低代码的维护成本使开发人员更不容易犯错,从而使产品的质量得到提升。所以,如何定义代码质量,如何测量并可视化的展现就成了我们探索的方向。
今年下半年,我们在团队内部引入了代码健康度评测指标及对应 Smart Code 的平台,它是一个自动化的代码质量评测系统,能够给开发者提供多个维度的分析结果及对应的报告,帮助开发者更好的发现潜在问题,提升代码质量。目前,我们的这套系统已经不断迭代并在团队内部运行了 2 个多月,大家积极响应,利用个人时间结合平台所发现的问题进行了多轮优化和重构,通过指标及结果来看,很多项目的代码规范性和代码质量相比过去有了明显的提升,取得了不错的效果。
我们打算在这里简单介绍一下我们的 Smart Code 代码质量评测平台。一方面是对过去在代码质量保障方面的回顾和思考,另一方面也希望能起到抛砖引玉的作用,让大家分享更多、更好的方案。
原先我们团队在代码质量评测方面的手段不多,也存在诸多痛点,如:
针对上述的问题和痛点,我们希望有这样一套代码质量评测体系:
因此,我们引入了代码健康度指标及 Smart Code 平台
目前代码健康度主要包含以下 3 个维度,通过一定的权重综合计算得出最终的代码健康度:
我们平台目前主要还是采用定时扫描的策略(每周定时扫描 + 夜间针对当天有代码提交的项目进行扫描),同时结合我们内部的服务治理平台获取每个项目预先设置好的配置信息进行检查,最终将每次的检查结果落地并进行平台化的展示。
平台部分截图如下:
dashboard
项目列表
项目详情
经过一段时间的实际使用之后,我们收到了不少的反馈,发现目前的指标维度其实是不够完善的,平台的交互体验也有提升空间,后续我们打算从以下这几个方面进行优化改进:
以上就是我们团队在代码质量评测方面所进行的探索,目标是打造一套完善的代码质量评测体系,希望能提供给大家一些有益的参考,如果大家有更好的想法和方案,也欢迎一起探讨和分享。