定义
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通过从零开始重写代码所需的成本计算的。)