sonar学习及简单使用
2016-04-13 16:31
225 查看
sonar简介:
sonar是一个用于代码质量管理的开源平台,用于管理源码质量。目前通过插件的形式,可以支持包括java,c#,c,c++,PL/SQL,js,groovy等二十多种变成语言的代码质量管理与检测。
sonar代码检测维度:
复杂度分布:文件、类或者方法等,如果复杂度过高将难以改变,这会是开发人员难以理解它们;
重复:检查程序中包含大量复制粘贴的代码,sonar可以展示源码中重复严重的地方;
缺乏单元测试:sonat可以方便的统计并展示单元测试的覆盖率;
没有代码标准:可以自己定制代码标准来规范代码编写;
没有足够的或者过多的注释;
潜在的bug;
糟糕的设计:通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则,可以管理第三方的jar包等等。
有兴趣可以看看Spaghetti Design:http://docs.codehaus.org/display/SONAR/Spaghetti+Design
sonarqube安装:
首先,你需要有java环境;
其次,数据库:sonarqube较高版本使用的h2,不需要自己建库,但是版本不高的使用的mysql数据库,所以,你需要确定你本地已经安装mysql数据库。
sonarqube下载:http://www.sonarqube.org/downloads/,目前最新是sonarqube 5.4
如果你觉得看英文不太舒服,可以下载中文补丁包:http://docs.codehaus.org/display/SONAR/Chinese+Pack
接下来说说较低版本的sonarqube的相关配置,主要是数据库部分,较高版本不需要配置数据库。
数据库配置:
进入数据库命令并执行以下指令:
想看sonar相关配置,可以去sonarqube文件下的conf/sonar.properties查看
sonar使用:
只介绍免安装的sonarqube的使用方法,安装比较麻烦,我比较懒。
去上面sonarqube的下载地址下载,解压文件直接可以使用,较低版本需要修改conf/sonar.properties数据库相关配置,将原来sonar.jdbc这个为前缀的被注释掉的配置取消注释。
其实,sonar与maven配置使用,需要在setting.xml中假如如下代码:
配置完以上的东西就可以启动sonar并使用了,很简单吧。
sonar启动:去sonarqube/bin/os系统(mac/windows/linux)/StartSonar.bat,启动。有问题可以查看相关sonarqube启动日志:sonarqube/logs/sonar.log
启动之后,可以去看sonarqube ui了,访问http://localhost:9000
启动之后就该用sonar来检查代码了,到某maven工程下执行mvn sonar:sonar,build success之后可以去sonarqube ui上看结果。
sonar是一个用于代码质量管理的开源平台,用于管理源码质量。目前通过插件的形式,可以支持包括java,c#,c,c++,PL/SQL,js,groovy等二十多种变成语言的代码质量管理与检测。
sonar代码检测维度:
复杂度分布:文件、类或者方法等,如果复杂度过高将难以改变,这会是开发人员难以理解它们;
重复:检查程序中包含大量复制粘贴的代码,sonar可以展示源码中重复严重的地方;
缺乏单元测试:sonat可以方便的统计并展示单元测试的覆盖率;
没有代码标准:可以自己定制代码标准来规范代码编写;
没有足够的或者过多的注释;
潜在的bug;
糟糕的设计:通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则,可以管理第三方的jar包等等。
有兴趣可以看看Spaghetti Design:http://docs.codehaus.org/display/SONAR/Spaghetti+Design
sonarqube安装:
首先,你需要有java环境;
其次,数据库:sonarqube较高版本使用的h2,不需要自己建库,但是版本不高的使用的mysql数据库,所以,你需要确定你本地已经安装mysql数据库。
sonarqube下载:http://www.sonarqube.org/downloads/,目前最新是sonarqube 5.4
如果你觉得看英文不太舒服,可以下载中文补丁包:http://docs.codehaus.org/display/SONAR/Chinese+Pack
接下来说说较低版本的sonarqube的相关配置,主要是数据库部分,较高版本不需要配置数据库。
数据库配置:
进入数据库命令并执行以下指令:
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar'; mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar'; mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar'; mysql> FLUSH PRIVILEGES;
想看sonar相关配置,可以去sonarqube文件下的conf/sonar.properties查看
sonar使用:
只介绍免安装的sonarqube的使用方法,安装比较麻烦,我比较懒。
去上面sonarqube的下载地址下载,解压文件直接可以使用,较低版本需要修改conf/sonar.properties数据库相关配置,将原来sonar.jdbc这个为前缀的被注释掉的配置取消注释。
其实,sonar与maven配置使用,需要在setting.xml中假如如下代码:
<profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.jdbc.url> jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8 </sonar.jdbc.url> <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver> <sonar.jdbc.username>sonar</sonar.jdbc.username> <sonar.jdbc.password>sonar</sonar.jdbc.password> <sonar.host.url>http://localhost:9000</sonar.host.url> </properties> </profile>
配置完以上的东西就可以启动sonar并使用了,很简单吧。
sonar启动:去sonarqube/bin/os系统(mac/windows/linux)/StartSonar.bat,启动。有问题可以查看相关sonarqube启动日志:sonarqube/logs/sonar.log
启动之后,可以去看sonarqube ui了,访问http://localhost:9000
启动之后就该用sonar来检查代码了,到某maven工程下执行mvn sonar:sonar,build success之后可以去sonarqube ui上看结果。
相关文章推荐
- iOS9 - 状态栏的颜色各种问题
- 第六次实验报告(3)---电话薄程序
- Xcode使用介绍之一:Xcode简介+创建App应用
- new与delete
- Unity发布iOS上架总结
- 2012年"浪潮杯"山东省第三届ACM大学生程序设计竞赛:The Best Seat in ACM Contest
- js时间转换
- jvm内存管理
- chm 已取消到该网页的导航,打不开!
- mpp文件转换成jpg图片,可以用pdf文件做中转站
- iOS开发--_weak typeof(self) weakSelf = self
- MySQL 锁、事务隔离级别
- Android TextView部分文字指定颜色
- HTML5 参考手册(标签)
- iOS计算两个时间的时间差
- 集中简单的负载均衡算法及java代码实现
- 第六周项目3-IP地址类
- zoj3772 Calculate the Function(矩阵+线段树)
- linux中安装QT后,新建工程提示 No valid kits found的解决办法
- 计算机软件工程国家标准汇编目录