淘小兔

SonarQube,一款知识兔知识兔小编特意搜集而来的管理代码质量的平台软件。你写的代码怎么样,水平如何,都可以用这款SonarQube来检测。

SonarQube简介

知识兔

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

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

sonarQube能带来什么

知识兔

Developers' Seven Deadly Sins

1、糟糕的复杂度分布

文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们,

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

202202221442539722990000

2、重复

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

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

202202221442561206280001

3、缺乏单元测试

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

202202221442570889060002

4、没有代码标准

sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写

5、没有足够的或者过多的注释

没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降

而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷

6、潜在的bug

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

202202221442581538500003

7、糟糕的设计(原文Spaghetti Design,意大利面式设计)

通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系

可以检测自定义的架构规则

通过sonar可以管理第三方的jar包

可以利用LCOM4检测单个任务规则的应用情况

检测耦合

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

SonarQube主要特点

知识兔

代码覆盖:通过单元测试,将会显示哪行代码被选中

改善编码规则

搜寻编码规则:按照名字,插件,激活级别和类别进行查询

项目搜寻:按照项目的名字进行查询

对比数据:比较同一张表中的任何测量的趋势

202202221442591404920004

SonarQube安装

知识兔

预置条件

1、已安装JAVA环境

2、已安装有MySQL数据库

中文补丁包下载:http://docs.codehaus.org/display/SONAR/Chinese+Pack

1、数据库配置

进入数据库命令

#mysql -u root -p

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;

2、安装sonar与sonar-runner

将下载的sonar-3.7.zip包解压至Linux某路径如/usr/local

将下载的sonar-runner-dist-2.3.zip包解压某路径/usr/local

添加SONAR_HOME、SONAR_RUNNER_HOME环境变量,并将SONAR_RUNNER_HOME加入PATH

修改sonar配置文件

编辑/conf/sonar.properties文件,配置数据库设置,默认已经分享了各类数据库的支持

这里使用mysql,因此取消mysql模块的注释

#vi sonar.properties

下载体验

知识兔分享,仅供下载体验和测试学习。

请输入密码查看内容!

如何获取密码?

点击下载