Sonarqube使用简介
5.SonarQube web UI –安全报告页面
针对安全问题,sonarqube提供了OWASP th10和SANS top25,热点问题检查,并提供了聚合报告,提高对安全问题的重视程度
6.SonarQube web UI –评估页面
给出当前项目的评估概况信息,大小,可靠性,重复率,覆盖率等
7.SonarQube web UI –代码页面
以.java文件为依据,给出各个.java文件统计信息
8.SonarQube web UI –活动页面
页面展示了每次代码扫描的基本信息和代码情况的折线图,折线图可以根据需要调整显示bugs数量,代码行数,覆盖率等信息
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.
原因:类之间的耦合度过高,引用了太多其他的类,
错误示例:
修改建议:根据面向对象的单一职责进行设计,进行降耦。
2、多重循环嵌套
说明:代码块中包含多个if、for、while、switch,影响阅读,难以维护
错误示例
Sonarqube代码分析
2.Analyzing with Maven
通过mvn sonar:sonar分析代码将结果提交到数据库中,SonarQube查询展示。
安装并配置 Maven,配置文件为 setting.xml,添加数据配置
在当前maven项目目录下运行mvn sonar:sonar,完成即可在SonarQube web页面查看结果:注:
1.可以在项目pom.xml显式sonar插件的版本以及MySQL的驱动版本
2.也可以显式的将sonar绑定到Maven生命周期中,Maven的site声明周期时,则会自动调用nar 命令