文档章节

SonarQube代码质量分析平台介绍

江边望海
 江边望海
发布于 2015/07/15 17:20
字数 1178
阅读 674
收藏 6

1.使用需求

随着互联网产品迭代越来越快,客户对产品的要求也越来越高,因此如何高质量的交付代码,及时地对代码质量进行分析并给出合理的解决方案就成为了当下必须要解决的一个问题。SonarQube 就是一款初中的代码管理工具,其优势主要体现为:它是一个开源的代码质量管理系统,支持 25+ 种语言,可以通过使用插件机制与 Jenkins 和 JIRA 等其他外部工具集成,从而实现了对代码的质量的全面自动化分析和管理。

2.SonarQube能干什么?

网址:http://www.sonarqube.org/

Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。 此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。

简单来说:Sonar主要的功能是分析源代码的编写质量。在项目开发阶段,如何保证开发人员在规定时间内既能完成开发功能,又能尽量避免编写过程中的出现的低级失误。使用Sonar可以很好的检查出来。Sonar不仅仅常用于Java源代码质量的检查,由于它已经提供了很多语言的支持,对web开发中常用的css,javascrip,html,php等都有更好的支持。

截至江边望海撰写这篇博客时它的最新版本是5.1.1

3.工作原理介绍

远程客户机可以通过各种不同的分析机制,从而将被分析的项目代码上传到 SonarQube server 并进行代码质量的管理和分析,SonarQube 还会通过 Web API 将分析的结果以可视化、可度量的方式展示给用户。

SonarQube 并不是简单地将各种质量检测工具的结果(例如 FindBugs,PMD 等)直接展现给客户,而是通过不同的插件算法来对这些结果进行再加工,最终以量化的方式来衡量代码质量,从而方便地对不同规模和种类的工程进行相应的代码质量管理。
SonarQube 在进行代码质量管理时,会从图 1 所示的七个纬度来分析项目的质量。

SonarQube 可以支持 25+ 种编程语言,针对不同的编程语言其所提供的分析方式也有所不同:
对于所有支持的编程语言,SonarQube 都提供源了代码的静态分析功能;
对于某些特定的编程语言,SonarQube 提供了对编译后代码的静态分析功能,比如 java 中的 class file 和 jar 和 C# 中的 dll file 等;
对于某些特定的编程语言,SonarQube 还可以提供对于代码的动态分析功能,比如 java 和 C# 中的单元测试的执行等。

4.如何使用

通常可以采用三种不同的方法来发起代码分析,分别为 Analyzing with SonarQube Runner、,Analyzing with SonarQube Ant Task 和 Analyzing with Maven 方法。这三种方法的主要区别是 , 它们分别适用于不同架构和组织形式的项目,并且其相应的配置文件的写法也不尽相同。

如果想在命令行使用Sonar分析源代码,需要下载Sonar-runner

sonar-runner是一个命令行下分析源代码的工具,需要结合着Sonarqube一同使用。

5.参考链接

http://www.ibm.com/developerworks/cn/opensource/os-sonarqube/

© 著作权归作者所有

江边望海
粉丝 28
博文 112
码字总数 57841
作品 3
郑州
技术主管
私信 提问
个推如何管理亿级代码的质量?持续集成SonarQube 代码质量管理系统

一个项目的成功与失败,系统的性能都很大程度的取决于项目的整体代码质量。尤其个推平台是一个极其复杂的分布式系统,整个系统包含了 RPC 调用,高速缓存,集群同步等各种复杂的场景。如果没...

个推
2015/10/19
587
0
【代码审计】SonarQube配置外部数据存储和基本使用

在上篇文章《【代码审计】使用SonarQube进行代码质量分析管理 》中,我们说明了项目代码质量的重要性,以及当前代码质量分析管理的一些工具,然后详细说明了SonarQube质量分析管理工具的安装...

MaxBill
2018/05/24
0
0
SonarQub代码分析平台部署

SonarQube构架 SonarQube(简称Sonar)是管理代码质量的开放平台,它可以快速地对代码质量进行分析,并给出合理的解决方案,提高管理效率,保证代码质量。 SonarQube框架包含以下四个部分: ...

亮公子
2018/06/26
0
0
interlliJ idea 与 sonarQube 的集成使用

SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,下面将会介绍一下这个工具的安装、配置以及使用。 准备工作; 1、jdk(不再介绍) 2、sonarqube:http://...

非沧海一粟不随波逐流
2016/10/21
1K
7
SonarQube代码质量管理平台的配置与使用 吴水成

一、SonarQube的配置(前提,先用admin用户登录) 1、 安装中文汉化包: Setting >> Update Center >> AvailablePlugins >> LOCALIZATION >> Chinese Pack >> Install 安装完汉化包之后需要重......

牛角尖
2016/04/11
20
0

没有更多内容

加载失败,请刷新页面

加载更多

使用kubeadm 搭建K8s集群

1. 参考官网 https://kubernetes.io/docs/setup/independent/install-kubeadm/

whhbb
29分钟前
2
0
Dubbo 3.0 !提升不止一点点!

Dubbo 自 2011 年 10 月 27 日开源后,已被许多非阿里系的公司使用,其中既有当当网、网易考拉等互联网公司,也不乏中国人寿、青岛海尔等大型传统企业。 自去年 12 月开始,Dubbo 3.0 便已正...

编程SHA
30分钟前
2
0
提升不止一点点,Dubbo 3.0 预览版详细解读

Dubbo 自 2011 年 10 月 27 日开源后,已被许多非阿里系的公司使用,其中既有当当网、网易考拉等互联网公司,也不乏中国人寿、青岛海尔等大型传统企业。更多用户信息,可以访问Dubbo @GitHub...

阿里云云栖社区
33分钟前
13
0
HanLP Analysis for Elasticsearch

基于 HanLP 的 Elasticsearch 中文分词插件,核心功能: 兼容 ES 5.x-7.x; 内置词典,无需额外配置即可使用; 支持用户自定义词典; 支持远程词典热更新(待开发); 内置多种分词模式,适合...

左手的倒影
55分钟前
1
0
spark部署之yarn模式

spark部署之yarn模式 hadoop-3.0.0集群搭建 配置相应环境 java环境 scala(可配可不配) hadoop环境 从官网下载spark 解压 配置 /conf/spark-env.sh export JAVA_HOME=/usr/java/jdk1.8.0_4...

jackmanwu
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部