SonarQube

IT
IT
IT
400
文章
1
评论
2020年5月30日16:48:53 评论 4,458 4460字阅读14分52秒

SonarQube代码质量检查工具简介

Sonar (SonarQube)是一个开源平台,用于管理源代码的质量

Sonar 不只是一个质量数据报告工具,更是代码质量管理平台

SonarQube

支持Java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。

Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题。

  1. 不遵循代码标准
  2. sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写。
  3. 潜在的缺陷sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检 测出潜在的缺陷。
  4. 糟糕的复杂度分布文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员 难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。
  5. 重复显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示 源码中重复严重的地方。
  6. 注释不足或者过多没有注释将使代码可读性变差,特别是当不可避免地出现人员变动 时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。
  7. 缺乏单元测试sonar可以很方便地统计并展示单元测试覆盖率。
  8. 糟糕的设计通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则 通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测藕合。

为什么要选择sonarQube?

个人使用之后认为 : sonarQube的优势如下(相比于阿里编码规约这种市面上常见类似软件):

  1. 更加优秀的图形化界面基本上通过界面就可以对自己项目的代码状况一目了然
  2. 可以查询出其它软件难以定位到的问题比如 :可能导致空指针异常的问题 (对象在进行使用前没有加空的判断)可能导致内存泄漏的问题, 在try catch 块里面,直接使用e.printStackTrace()将堆栈信息打印到内存的可能导致的漏洞 : 成员变量使用public定义的还有诸如 : 流等未关闭或者是非正常关闭都能够检测出来!功能非常强大!!

安装SonarQube web server

  1. 首先确保安装了jdk11 +
  2. 到此链接 https://www.sonarqube.org/downloads/

下载sonalqube(下载社区版,是开源的),

我下载的是sonarqube-7.9.3,因为最新版7.9.1需要jdk11支持

[root@dispatch001 opt]# java -version
java version "11.0.7" 2020-04-14 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.7+8-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.7+8-LTS, mixed mode)

创建用户

此处为隐藏的内容!
登录后方可查看!
下载信息 安装包
网盘密码:登录可见
下载地址:登录可见
继续阅读
  • 我的QQ
  • QQ扫一扫
  • weinxin
  • 我的头条
  • 头条扫一扫
  • weinxin
CentOS 最后更新:2021-3-26
IT
  • 本文由 发表于 2020年5月30日16:48:53
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Teambition 网盘与阿里云盘数据合并说明 CentOS

Teambition 网盘与阿里云盘数据合并说明

前言 Teambition 团队是阿里巴巴的一个创新产品团队,除了你熟悉的 Teambition App,「阿里云盘」也是我们的作品,它们都属于阿里云正在打造的新一代「云服务」。 过去几个月,我们投入...
CentOS8安装Jenkins CentOS

CentOS8安装Jenkins

简述 Jenkins 是最流行的,开源的,基于 Java 的自动化服务器,它允许你很容易的设置一个持续集成和持续发布的管道。 持续集成 (CI)是一个 DevOps 实践。当团队成员正常提交代码到版本...

您必须才能发表评论!