SonarQube的代码坏味道

Posted CrissChan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SonarQube的代码坏味道相关的知识,希望对你有一定的参考价值。

定义

CodeSmell就是翻译过来有叫坏味道也有叫代码异味的,这主要是一个和维护性相关的指标,重点的含义是保持这样的代码,会导致代码维护成本越来越高,时间长了会导致很多无法理解的代码留存在项目中,从而可能会引起一些缺陷。

等级划分

可维护性从A级别到E级别,分别表示了从非常好的可维护性到非常差的可维护性,这是由技术债务比率解决的,技术债务比率计算如下:

** 技术债务比率=项目的技术债务的成本/从零开始重写代码所需的成本**

  • A级别:技术债务比率<=0.05
  • B级别:0.05<技术债务比率<=0.1
  • C级别:0.1<技术债务比率<=0.2
  • D级别:0.2<技术债务比率<=0.5
  • E级别:0.5<技术债务比率

那么一个项目怎么利用上述公式计算了,下面举个例子:

假设开发成本是30分钟,2500 LOC的技术债务为24000分钟的项目将有技术债务比率为24000 /(30 * 2,500)= 0.32。 因此项目的可维护性评级就是D。那么这里的LOC是开发一行代码的成本,目前采用默认的时间是30分钟,也就是LOC=30分钟(这里LOC通过从零开始重写代码所需的成本计算的。)

以上是关于SonarQube的代码坏味道的主要内容,如果未能解决你的问题,请参考以下文章

用SonarQube和SonarLint分析maven项目中的Java代码坏味道

SonarQube规则之坏味道类型

代码分析平台 SonarQube 实战

代码坏味道之过长的參数列

重构-坏代码的味道

[持续交付实践] 基于 sonarqube 的代码检查平台实现