![](https://tzimg3.dns4.cn/pic/192713/p13/20170811125226_4409_zs.jpg)
SonarQube简介
一、 SonarQube是什么?
1、代码质量和安全扫描和分析平台。
2、多维度分析代码:代码量、安全隐患、编写规范隐患、重复度、复杂度、代码增量、测试覆盖率等。
3、支持25+编程语言的代码扫描和分析,包含java﹨python﹨C#﹨javascript﹨go﹨C++等。
4、涵盖了编程语言的静态扫描规则: 代码编写规范+安全规范。
5、能够与代码编辑器、CI/CD平台集成。
6、能够与SCM集成,可以直接在平台上看到代码问题是由哪位开发人员提交。
7、帮助程序猿写出更干净、更安全的代码。
![](https://tzimg3.dns4.cn/pic/192713/p13/20170811125223_4467_zs.png)
![](https://tzimg3.dns4.cn/heropic/192713/p2/20220214161133_2656_zs.jpg)
![](https://tzimg3.dns4.cn/heropic/192713/p2/20220214161347_9480_zs.jpg)
![](https://tzimg3.dns4.cn/heropic/192713/p2/20220214161348_5261_zs.jpg)
![](https://tzimg3.dns4.cn/heropic/192713/p2/20220214161349_0261_zs.jpg)
![](https://tzimg3.dns4.cn/heropic/192713/p2/20220214161508_6654_zs.jpg)
sonarqube问题修改总结
一、代码复杂度问题
1、类的复杂度过高。
说明:Split this class into smaller and more specialized ones to reduce its dependencies on other classes from 24 to the maximum authorized 20 or less.
原因:类之间的耦合度过高,引用了太多其他的类,sonarqube规则,
错误示例:
修改建议:根据面向对象的单一职责进行设计,中国sonarqube规则,进行降耦。
2、多重循环嵌套
说明:代码块中包含多个if、for、while、switch,影响阅读,难以维护
错误示例
SonarQube预置条件
1.已安装JAVA环境
2.已安装有MySQL数据库
SonarQube安装
1.数据库配置
进入数据库命令
#mysql -u root -p
2.安装sonar与sonar-runner修改sonar配置文件
编辑<install_directory>/conf/perties文件,配置数据库设置,代理商sonarqube规则,默认已经提供了各类数据库的支持
这里使用mysql,因此取消mysql模块的注释
3.添加数据库驱动
除了Oracle数据库外,其它数据库驱动都默认已经提供了,且这些已添加的驱动是sonar支持的,因此不需要修改
4.启动服务
5.sonar中文补丁包安装
代理商sonarqube规则-苏州华克斯由苏州华克斯信息科技有限公司提供。“Loadrunner,Fortify,源代码审计,源代码扫描”选择苏州华克斯信息科技有限公司,公司位于:苏州工业园区新平街388号,多年来,华克斯坚持为客户提供好的服务,联系人:华克斯。欢迎广大新老客户来电,来函,亲临指导,洽谈业务。华克斯期待成为您的长期合作伙伴!