sonarqube架构介绍
SonarQube平台主要由4个组件组成:
(1). SonarQube服务器:
主要包括web服务器,基于ElasticSearch的搜索服务器,计算引擎服务器。
其中,web服务器,是供开发人员浏览查看代码分析结果,进行相应的配置等。
计算引擎服务器主要是处理代码分析报表并将其存储在数据库。
(2). SonarQube 数据库:
存储配置信息和代码分析报表。
(3). 多个Soanr插件:包括分析各种语言的插件。
(4). 多个Sonar Scanner,主要运行在开发人员的代码端,可以单独部署,也可以集成在Maven,Gradle等。
sonarqube问题修改总结
三、可读性问题
1、用isEmpty()去做容器的空或者非空判断。
说明:Use isEmpty() to check whether the collection is empty or not.
原因:增加可读性。
2、删除没有用的import、field、class、method。
原因:增加可维护性。
修改建议:删除无用代码块、申明、方法和引用。
3、if语句被拆分不利于可读
说明:Merging collapsible if statements increases the code's readability.
3、方法内多个return出口
错误示例:
解决建议:定义一个return,赋值,统一返回。
4、修改了入参说明:修改了入参降低了代码的可读性,丢失了原始参数的值。
错误示例:
5、用equalsIgnoreCase()方法替代字符串的无视大小写比较。
说明:Replace these toUpperCase()/toLowerCase() and equals() calls with a single equalsIgnoreCase() call.
原因:参数应当是final的
解决建议,利用一个临时变量充当需要变动的参数。
使用SonarQube Runner分析源码
预置条件
已安装SonarQube Runner且环境变量已配置,即sonar-runner命令可在任意目录下执行
1.在项目源码的根目录下创建sonar-perties配置文件2.执行分析
切换到项目源码根目录,执行命令
与IDE关联
蕞后,当然了,得与IDE相关联,才能更方便地实时查看
Sonarqube权限配置
禁止游客访问
全局权限设置(禁止匿名用户权限、用户组全局权限设置)
权限模板设置,即项目权限设置。
Sonarqube质量阀默认质量阀设置,没有质量阈值的项目默认采用此设置。
自定义质量阀,可以选择适用于哪些项目。
Sonarqube质量配置
这里以 Java 语言为例说明,如下是 Sonar 内置默认的质量配置(规则集合)。
规则可以根据需要进行设置,还可以选择自定义的 PMD、Checkstyle 规则配置文件。
修改自定义配置为默认。
另外,还可以或者挂起规则,注意继承的规则不可挂起。
以上信息由专业从事代理商sonarqube安装配置的华克斯于2025/3/28 5:39:02发布
转载请注明来源:http://szhou.mf1288.com/hksxxkj-2851398018.html