Sonarqube入门

sonarQube能带来什么?
1. 糟糕的复杂度分布
2. 重复代码管理
3. 很方便地统计并展示单元测试覆盖率
4. 通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写
5. 通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的bug
6. 解决注释问题。没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降
而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷
7. 以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则,通过sonar可以管理第三方的jar包, 可以利用lcom4检测单个任务规则的应用情况,检测耦合
主要特点:
代码覆盖:通过单元测试,将会显示哪行代码被选中 改善编码规则
搜寻编码规则:按照名字,插件,激活级别和类别进行查询 项目搜寻:按照项目的名字进行查询 对比数据:比较同一张表中的任何测量的趋势

使用方式
1. 安装
a) 使用文件中的mysql-installer-community-5.7.19.0安装mysql数据库
b) 使用navicatformysql.zip文件进行数据库访问
c) 安装jdk1.8(jdk-8u121-windows-x64)
d) 解压文件sonarqube-6.4.zip(例:解压路径D:\Sonarqube)
e) 解压文件sonar-scanner-cli-3.0.3.778-windows.zip(例:解压路径
D:\Sonarqube\sonar-scanner-cli-3.0.3.778-windows)
f) 修改文件D:\Sonarqube\conf\ wrapper.conf中的wrapper.java.command=java为
wrapper.java.command=
jdk的路径(例:C:\Program Files\Java\jdk1.8.0_121\bin\java
g) 修改文件D:\Sonarqube\conf\ sonar.properties文件中的(修改成为对应的地址和对应的数据库)
sonar.jdbc.username=root
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sone?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
h) 修改文件:
D:\Sonarqube\sonar-scanner-cli-3.0.3.778-windows\sonar-scanner-3.0.3.778-windows\conf\ sonar-scanner.properties文件中的sonar.host.url=http://localhost:9000地址修改

i) 点击:
D:\Sonarqube\sonar-scanner-cli-3.0.3.778-windows\sonar-scanner-3.0.3.778-windows\bin\ sonar-scanner.bat文件
j) 点击D:\Sonarqube\bin中的不同的操作系统中的StartSonar.bat文件或者.sh文件
k) 配置环境变量:
D:\Sonarqube\sonar-scanner-cli-3.0.3.778-windows\sonar-scanner-3.0.3.778-windows
SONAR_RUNNER_HOME:D:\Sonarqube\sonar-scanner-cli-3.0.3.778-windows\sonar-scanner-3.0.3.778-windows

在Path中加入:%SONAR_RUNNER_HOME%\bin;

在CMD中使用sonar-scanner –version查询是否安装成功

(1) 在项目根目录创建sonar-project.properties文件,内容如下

must be unique in a given SonarQube instance

sonar.projectKey=my:project

this is the name displayed in the SonarQube UI

sonar.projectName=apiautocore
sonar.projectVersion=1.0

Path is relative to the sonar-project.properties file. Replace “\” by “/” on Windows.

Since SonarQube 4.2, this property is optional if sonar.modules is set.

If not set, SonarQube starts looking for source code from the directory containing

the sonar-project.properties file.

sonar.sources=src

Encoding of the source code. Default is default system encoding

sonar.sourceEncoding=UTF-8

转到根目录下,使用sonar-scanner 进行代码扫描。重启服务


  1. 1.General Information

Lines:总行数
Files:文件个数
Statements:声明个数
Classes:包括所有嵌套的类、接口、枚举和注释的个数
Packages:包的数量
Functions:方法个数,一个构造也看作是一个方法。包括读写类中属性的get/set方法。
Directories:文件目录个数
Lines of code:有效代码行数
Complexity

complexity/class:类的平均复杂度 

complexity/function:方法的平均复杂度
complexity/file:文件复杂度
Complexity:完整的可执行代码的行数

Duplications

lines:涉及到重复代码的行数

blocks:有重复代码的区域的个数
files:有重复代码的文件的个数

怎么提高
1. 就算你天天分析自己的代码,如果不去思考发现的问题,其实意义也是不大的。我们应该借鉴持续改进的流程,在这个过程中有所收获。
2. 提高代码质量,了解自己在编码过程中犯过的错误,让自己的代码更具有可读性和维护性。
3. 单元测试覆盖了90%以上
4.

linux中使用,需要加入sonar用户

并且需要使用 source /etc/profile来进行配置文件更新

root给其他用户赋值权限:chown -R sonar:sonar /usr/local/sonarqube

需要创建sonar数据库

安装中文插件的方式

idea 创建sonar提交方式

1.解压scan包

2.配置系统环境变量

3.在需要检查的项目下面,建立sonar-project.properties配置文件

4.配置scan下面的config文件,连接到sonarqube服务端的地址,也就是(http://10.20.5.181:9000)sonar的访问地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值