SQALE是什么

2015-12-08  本文已影响0人  belber

SQALE是什么

本文将解释在SonarQube中看到的SQALE Rating指标的意思以及计算方法,并给出一个例子。


一、SQALE简介


SQALE全称是Software Quality Assessment based on Lifecycle Expectations,是一套评估代码质量的方法。主要思路计算技术债务时间占开发所有代码所需要的时间的比例(Technical Debt Ratio),并按照比例的大小划分A到D的等级。

二、如何计算Technical Debt Ratio


Technical Debt Ratio计算公式

Technical Debt Ratio = 技术债务时间 / 开发时间

技术债务时间

上图中的Debt即是技术债务时间,216d表示修复所有的Issues需要216天。

每个Issue都由SonarQube默认了修复需要的时间,虽然可以通过配置修改,但SonarQube官方表示不建议修改。

评估开发时间

开发总时间 = 每一行代码开发所需要的时间 * 代码总行数

其中每一行代码开发所需要的时间是可以配置的,默认是30min。

计算公式中可配置参数

技术债务相关参数配置页面路径是General Settings->Technical Debt,部分参数截图如下:

三、一个例子



上图项目Technical Debt Ratio=5.0%,SQALE Rating=A,下面展示计算过程,其中技术债务的相关参数均为SonarQube默认值。

技术债务时间 = 216d * 8 * 60min = 103680min

开发总时间 = 每一行代码开发所需要的时间 * 代码总行数 = 30min * 68820 = 2064600min

Technical Debt Ratio = 技术债务时间 / 开发总时间 = 103680 / 2064600 = 0.05 = 5.0%

0.05 in [0,0.1],故SQALE Rating = A


created by 两害
主要参考:
http://www.sonarsource.com/products/plugins/governance/sqale/installation-and-usage/#understandingSqaleRatings

上一篇 下一篇

猜你喜欢

热点阅读