代码质量管理

  1. 安装
    1. 安装 docker
    2. 安装 postgresqldb
    3. 安装 sonarqube
    4. 访问
    5. 中文语言包
  2. 分析原理图
  3. 使用
    1. 客户端
    2. 配置gradle属性
    3. 开始扫描

安装

安装 docker

安装 postgresqldb

docker run --name postgresqldb -p 5432:5432 -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres

安装 sonarqube

docker run --name sq --link postgresqldb -e SONARQUBE_JDBC_URL=jdbc:postgresql://192.168.2.54:5432/sonar -p 9000:9000 -d sonarqube

访问

浏览器访问 http://192.168.2.54:9000,出现网页说明安装成功。默认账号密码 admin

中文语言包

分析原理图


可以从七个维度检测代码质量:
(1)复杂度分布(complexity):代码复杂度过高将难以理解
(2) 重复代码(duplications):程序中包含大量复制、粘贴的代码而导致代码臃肿,sonar可以展示源码中重复严重的地方
(3) 单元测试统计(unit tests):统计并展示单元测试覆盖率,开发或测试可以清楚测试代码的覆盖情况
(4) 代码规则检查(coding rules):通过Findbugs,PMD,CheckStyle等检查代码是否符合规范
(5) 注释率(comments):若代码注释过少,特别是人员变动后,其他人接手比较难接手;若过多,又不利于阅读
(6) 潜在的Bug(potential bugs):通过Findbugs,PMD,CheckStyle等检测潜在的bug
(7) 结构与设计(architecture & design):找出循环,展示包与包、类与类之间的依赖、检查程序之间耦合度

使用

客户端

客户端可以通过IDE插件、Sonar-Scanner插件、Ant插件和Maven插件方式进行扫描分析。
我们这里用多模块的gradle做演示(网上很多都是要配置sonarqube的host\password\database..等,但是我这种情况好像没效果,所有我改成控制台传值。如果就单模块的情况,直接参考官方demo项目
https://github.com/SonarSource/sonar-scanning-examples)

配置gradle属性

//代码质量soanrqube
apply plugin: 'org.sonarqube'
//代码质量soanrqube
maven { url "https://plugins.gradle.org/m2/"}
//代码质量soanrqube
classpath ("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.2")

开始扫描

控制台执行

gradle sonarqube -Dsonar.host.url=http://192.168.2.54:9000


扫描完毕后,打开网址就可以看结果了


转载请注明来源。 欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。 可以在下面评论区评论,也可以邮件至 sharlot2050@foxmail.com。

文章标题:代码质量管理

字数:508

本文作者:夏来风

发布时间:2019-08-16, 21:08:36

原始链接:http://www.demo1024.com/blog/java-sonarqube/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。