sonar 初体验

Sonar介绍

SonarQube官网,点这里

以下本部分借鉴与bolg,地址在这里

Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量

通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测

sonarQube能带来什么?

Developers' Seven Deadly Sins
1.糟糕的复杂度分布
  文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们,

  且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试

2.重复
  显然程序中包含大量复制粘贴的代码是质量低下的

  sonar可以展示源码中重复严重的地方

3.缺乏单元测试

  sonar可以很方便地统计并展示单元测试覆盖率

4.没有代码标准
  sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写
5.没有足够的或者过多的注释
  没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降
  而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷
6.潜在的bug

  sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的bug

7.糟糕的设计(原文Spaghetti Design,意大利面式设计)
  通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系
  可以检测自定义的架构规则
  通过sonar可以管理第三方的jar包
  可以利用LCOM4检测单个任务规则的应用情况
  检测耦合

关于Spaghetti Design:http://docs.codehaus.org/display/SONAR/Spaghetti+Design

通过sonar可以有效检测以上在程序开发过程中的七大问题

sonar安装

需要用到mysql、jdk

sonar下载,去官网。

sonar 初体验_第1张图片

解压后,选中对应你的系统的版本,启动即可,例如我的是:

sonar 初体验_第2张图片

启动前先修改以下配置,配置文件在:解压包下的conf文件加下,sonar.properties

主要修改如下:

#数据库用户名及密码
sonar.jdbc.username=root
sonar.jdbc.password=cisoft

#数据地址及数据库名,需要新建一个名为sonar的数据库,最好单独创建,因为自带很多很多张表
sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
#启动内存之类的设置
sonar.web.javaOpts=-Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError
#访问路径,以下标示本机
sonar.web.host=0.0.0.0
#访问路径名
sonar.web.context=/sonar
#访问端口
sonar.web.port=9000
#设置为true标示打开更新插件的功能
sonar.updatecenter.activate=true

 

启动方法:

sonar 初体验_第3张图片

访问路径为:http://localhost:9000  账号:admin 密码:admin

第一次启动会有引导,跟着引导步骤做即可,记得要吧token记录下来,后续要用到

sonar 初体验_第4张图片

登陆成功后

sonar 初体验_第5张图片

添加或更新插件方法:

sonar 初体验_第6张图片

然后就可以用sonar来检测你的项目啦,步骤:

在命令行,去到你的项目路径下,运行以下命令

mvn sonar:sonar \
  -Dsonar.host.url=http://localhost:9000/sonar \
  -Dsonar.login=a2e4172fc1113590504cb5a9605260ea7dd9e73a



a2e4172fc1113590504cb5a9605260ea7dd9e73a就是之前说的token了。运行了,自动执行,当你看到build success说明成功,如果build失败,看失败原因,一步一步结局。最后再次刷新你的http://localhost:9000,点击项目菜单,你会看到刚刚执行代码质量检测的项目已经出现了,就可以查看你的项目代码质量怎么样啦~

如下:

sonar 初体验_第7张图片

 

自此,初体验结束,当然还有很多很多需要深入研究,后续在总结

你可能感兴趣的:(sonar)