市场资讯
西南代理商sonarqube修改检测规则即时留言「多图」墙来了朱迅没带胸罩
2023-11-16 01:17  浏览:36
8分钟前 西南代理商sonarqube修改检测规则即时留言「多图」[华克斯25b461e]内容:

Sonarqube检测

Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量,通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测

Rules提示

当然,这对于初学来说是一个很好的教程,搞懂这些规则可以避免bugs的出现,提供自己的开发能力。

rule正确实例提示

糟糕的复杂度分布

文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要的回归测试

重复

显然程序中包含大量粘贴的代码是质量低下的 , sonar可以展示源码中重复严重的地方

缺乏单元测试

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

没有代码标准

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

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

没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降,而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷

潜在的bug

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

糟糕的设计

通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则;

通过sonar可以管理第三方的jar包可以利用LCOM4检测单个任务规则的应用情况 ,检测耦合

SonarQube 扫描 接入方式

SonarQube 接入方式代理商sonarqube修改检测规则

SonarQube包含多种接入方式,这里提供常用的几种接入方式说明:

Jenkins集成方式

Maven集成方式

直接扫描方式

无论采用哪种集成方式,首先需要在sonar服务中生成授权token:

Jenkins集成方式

Jenkins集成具体实现方式包含两种:

通过Jenkins的Job触发Maven命令执行,这种方式实际上是通过Maven集成方式来进行扫描的;

通过Jenkins的Sonar插件执行,此方式实际是触发直接扫描方式来进行扫描的,Jenkins插件的安装方式详见安装

Maven集成方式

全局配置

在settings.xml文件中配置以下内容

添加插件

在pom.xml中添加sonar插件:

执行分析

如果是多module项目,在执行扫描前需要先对项目进行install操作,即:

分析配置如果需要修改sonar扫描参数的默认值,在pom.xml的properties中修改即可,支持的参数较多

直接扫描方式

配置在项目根目录中创建sonar-perties配置文件,配置文件中包含以下内容:

Sonarqube使用范围

通过插件形式,可以支持包括java,C#,C/C++、PL/SQL、Cobol、JavaScrip、Groovy、Ruby等二十五种编程语言的代码质量管理与检测,针对不同的编程语言其所提供的分析方式也有所不同: 对于所有支持的编程语言,SonarQube 都提供源了代码的静态分析功能; 对于某些特定的编程语言,SonarQube 提供了对编译后代码的静态分析功能。

SonarQube支持多种客户端集成方式,包括但不限于scanner客户端、ant、gradle、maven、jenkins、idea插件等。比较常用的为gradle和maven。

Sonarqube代码分析

1.Analyzing with SonarQube Runner

该方法适用于所有不同架构的项目,包括没有使用任何源代码管理工具的项目形式,以及使用各种不同代码管理工具(SVN、Git、ClearCase 等)和编译工具(ant,maven)的项目形式,它都能够适用。

安装后,将bin配置到系统的环境变量里去。

1.配置sonar-scanner

2.在项目工程下新建sonar-perties配置文件

切换到项目主目录下命令行运行:sonar-runner,即可完成代码扫描

如果项目包含多个模块,则该配置文件应如下图所示配置:

发表评论
0评