SonarQube的代码坏味道详解

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

目录
相关文章
|
XML 域名解析 JSON
【RESTful】RESTful API 接口设计规范 | 示例
【RESTful】RESTful API 接口设计规范 | 示例
13971 0
【RESTful】RESTful API 接口设计规范 | 示例
|
消息中间件 SQL 存储
超详细的RabbitMQ入门,看这篇就够了!
RabbitMQ入门,看这篇就够了
222328 69
|
运维 网络安全 Windows
【运维知识进阶篇】教你部署云锁WAF(Web应用防火墙)
【运维知识进阶篇】教你部署云锁WAF(Web应用防火墙)
995 0
|
缓存 JavaScript
vue使用keep-alive实现页面前进刷新,后退缓存,完美运行无bug
vue使用keep-alive实现页面前进刷新,后退缓存,完美运行无bug
1945 122
|
运维 网络协议 Linux
【专栏】 20 个 Linux 命令,运维工程师工作时最常用的
【4月更文挑战第28天】本文介绍了运维工程师常用的20个Linux命令,包括`ls`、`cd`、`pwd`、`mkdir`、`rm`、`cp`、`mv`、`cat`、`more`、`less`、`head`、`tail`、`grep`、`find`、`chmod`、`chown`、`chgrp`、`ps`、`top`和`ifconfig`,帮助提升工作效率。此外,还提到了其他常用的命令如`df`、`free`、`tar`、`ssh`、`scp`、`ping`、`netstat`、`iptables`、`systemctl`、`hostname`等,建议运维人员掌握以应对各种运维场景。
1727 1
|
SQL 分布式计算 关系型数据库
【数据采集与预处理】数据传输工具Sqoop
【数据采集与预处理】数据传输工具Sqoop
|
存储 IDE Java
Java“NoClassDefFoundError”解决
Java中的“NoClassDefFoundError”错误通常发生在尝试访问某个类时,该类在编译时可用但在运行时找不到。解决方法包括:确保所有依赖库已正确添加到类路径中,检查类名和包名是否正确,以及清理并重新构建项目。
4399 3
|
移动开发 jenkins 持续交付
jenkins配置git
通过上述步骤,您可以在 Jenkins 中成功配置 Git,从而实现自动拉取代码并进行构建和部署。这些配置不仅提高了开发效率,还保证了代码的连续集成和交付。确保每一步配置正确,以避免在实际使用中遇到问题。
1806 1
|
人工智能 自然语言处理 IDE
手把手教你5种方法实现Java判断字符串是否为数字
5种方法实现Java判断字符串是否为数字