1.SonarQube是什么
SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量。 通过插件形式,可以支持包括 java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题。
2.特性
.不遵循代码标准
sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写。
.潜在的缺陷
sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检 测出潜在的缺陷.
.糟糕的复杂度分布
文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员 难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。
.重复
显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示 源码中重复严重的地方。
.注释不足或者过多
没有注释将使代码可读性变差,特别是当不可避免地出现人员变动 时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。
.缺乏单元测试
sonar可以很方便地统计并展示单元测试覆盖
. 糟糕的设计
通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则 通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测耦合。
3.安装
3.1 环境要求
a).JDK
环境变量的设置:
JAVA_HOME=D:\Program Files\Java\jdk1.7.0_67\
PATH=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
CLASSPATH=%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
3.2 sonar安装
作为一个代码分析平台,sonar主要由一下3部分构成:
a.一个数据库:存放配置信息和分析结果信息;(mysql)
b.一个web服务器:发布应用,在线浏览、配置分析(sonarqube-4.5.4)
c.一个客户端:执行源代码分析(sonar-runner-2.4)
3.2 数据库安装
sonar支持的数据库类型有apache derby,h2,sql server,mysql.orcale.postgreSQL等多种数据库,如果只做测试可以使用sonar自带的h2,或derby。他们不需要任何安装。
如果使用其他数据库,仅仅需要创建一个数据库或表空间,提供sonar增删该查数据库权限的账号即可。表和索引将在sonar第一次运行的时候创建。
在这里我们使用的是mysql数据库。创建语句如下:
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;
3.3 安装及配置sonar
在http://www.sonarsource.org/downloads/下 下载相关应用解压即可。(最新6.0)
安装服务器端 sonarqube-4.5.4
在sonarqube解压包下编辑conf/sonar.properties文件,该文件中所有注释掉的数据库连接模板都是支持的,只需要去掉注释更改为自己的数据库连接即可。同时将默认的自带数据库连接注释去掉。
一般需要配置一下属性:
sonar.jdbc.url:数据库连接地址
sonar.jdbc,driver:驱动类
sonar.jdbc.user: 数据库用户名
sonar.jdbc.password:密码
如果使用orcale数据库,那么将orcale驱动包放到sonarqube-6.0\extensions\jdbc-driver \oracle文件夹下即可,其他数据库的驱动包已经放到默认的路径下。
2.启动sonarqube
在E:\sonar\sonarqube-6.0\sonarqube-6.0\bin\windows-x86-64文件下运行StartSonar.bat文件即可。
启动成功后在浏览器地址栏输入http://localhost:9000即可访问snoarQube.
3.修改snoar端口
sonar应用默认监听9000端口。通过http://localhost:9000访问
可以在 conf/sonar.properties文件中更改:
sonar.web.host=0.0.0.0
sonar.web.port=9000
sonar.web.context=/sonar
1.2.2.1 sonar客户端 sonar-runner
1.sonar-runner安装过程
a.将下载包解压到一个本地路径下。
b.将解压路径设置为环境变量
SONAR_HOME=E:\sonar\sonar-runner-2.4
c.更改配置文件:$SONAR_HOME/conf/sonar-runner.porperties
主要是数据源的配置,sonar-runner会将分析的结果存放在数据库中。如图所示,只需将注释的模板适当位置去掉注释并更改为自己对应的sonar配置即可。
d.将%SONAR_HOME%\bin;添加到Path环境变量中。
sonar-runner demo实例:
在要测试的项目的根目录下添加sonar的配置文件sonar-projet.properties文件。sonar-runner执行分析时,会读取该文件。
在cmd下进入到sonar测试项目下,启动sonar-runner服务。
在浏览器中输入http://localhost:9000查看分析结果:
相关推荐
sonar应用技术笔记是笔者在学习sonar过程中的应用记录,包括安装,配置数据库,汉化,与maven集成,在eclipse中的配置,与jira集成,在android工程中的集成配置
sonar eclipse插件sonarlint,原先的插件已经被启用,这是最新的,如果连接本地sonar服务器,需要在eclipse.ini中配置启动参数,参数为org.sonarlint.eclipse.core/server_url 值为sonar服务器地址,如果不配置默认...
sonar汉化包sonar汉化包sonar汉化包sonar汉化包sonar汉化包sonar汉化包sonar汉化包sonar汉化包sonar汉化包sonar汉化包sonar汉化包
sonar中文插件1.28,适用于最后一个jdk1.8版本的sonar,sonar-l10n-zh-plugin-1.28.jar
利用java代码,调用sonar接口,实现在sonar里面创建,更改,用户,组,权限等一系列操作
Sonar 是一个开源的质量管理平台,专注于从项目到类方法的持续的分析和测量技术质量,它把代码质量相关软件集成到一起统一管理
sonar-gitlab-plugin-4.0.0.jar sonar-l10n-zh-plugin-1.28.jar sonar-pmd-plugin-3.2.0-SNAPSHOT.jar sonar-scanner-cli-4.0.0.1744-linux.zip sonarqube-7.8.zip
内含两个版本[SonarLint for Visual Studio 2019、SonarLint for Visual Studio 2022](适用于VS2019、VS2022两个版本,非此版本的不适配勿下载):SonarLint 是一个免费的开源IDE 扩展,可识别并帮助您在编写代码时...
Sonarlint是一款强大的代码检测插件,用户可以IDE上实时检测自己的代码问题。本文详细介绍了Eclipse和Idea集成Sonarlint的步骤和使用方法
sonar的checkStyle插件,直接下载放到sonar的插件文件夹就可以用了。
UCI的一个数据集Sonar,已经用MATLAB转化为.mat数据文件了,在MATLAB里面可以直接load
sonar-scanner-2.8
功能强悍的代码质量管理平台,中文版本说明,sonar入门篇
sonar3.2
sonar汉化包完整版,从1.10到1.29共20个汉化jar包,sonar与汉化包有版本对应,版本对应关系可参照我的博客《Jenkins集成Sonar(2/3)登录并添加项目进行扫描+汉化》,将汉化包放到sonar的extensions/plugins目录下...
idea 安装sonarlint 无坑可用 操作步骤: 1、解压文件,将SonarLint文件夹复制到idea安装目录下的plugins下 2、重启idea 3、进入idea的setting,找到plugins,在里面勾选上SonarLint,应用确定 4、再次重启idea,...
Environment: MATLAB algorithm: FCM function: classification of sonar data
sonar4版本扫描辅助程序. 向服务器上传代码并做扫描分析. 使用方式: CMD切换到项目根目录下(sonar-project.properties文件所在目录)运行 sonar-runner
sonar数据集,已处理成.mat格式,包括数据和类标,用于机器学习,聚类,分类等问题的研究
sonar Android Lint插件