草庐IT

SonarQube7

全部标签

Sonarqube:合格的认知复杂性

我了解什么是认知复杂性以及如何计算它,但是我现在没有如何确定该量度的好价值,因此我的代码不可能多么复杂。我需要一种客观的方法来估算它,而无需将项目相互比较。一种公式,例如“复杂性/线代码”或类似的公式。或者,如果我为大型项目定义了质量门,我如何计算其值。看答案在方法级别上,建议最大15。在班级级别,这取决于您在软件包中的期望。例如,在一个只能举行字段和简单的Getters或Setters类的软件包中,具有0(5?10?)认知复杂性的类可能还值得另一个外观。另一方面,在拥有业务逻辑类的软件包中,类得分>=...150(?)可能表明是时候考虑分配课程了。就项目的限制是什么,这是无法回答的,并

java - API 与 SonarQube 5.6 和 Java Analyzer 4.0 与 Findbugs 3.3 或 Cobertura 1.6.3 不兼容

SonarQube对我的项目的分析失败了5.6,从版本3.14更新Java插件后至4.0.在我的SonarQube实例中,在其他插件中,我目前有Findbugs插件(版本3.3)和Cobertura插件(1.6.3),它们需要Java插件。查看日志,我收到以下消息:[ERROR]Failedtoexecutegoalorg.sonarsource.scanner.maven:sonar-maven-plugin:3.1-build231:sonar(default-cli)onprojectMyProject:Executiondefault-cliofgoalorg.sonarsou

linux中部署jenkins+sonarqube+sonarqube扫描器+jacoco详细步骤!!!!!!万字 详细版,赶紧码住

一、先安装postgresql数据库和jdk17版本从SonarQube8.2开始,官方不再支持MySQL数据库,因此这里使用postgresql数据库数据库安装步骤1.先在postgresql官方下载https://www.postgresql.org/ftp/source/我用的13版本把压缩文件上传到linux服务器的/usr/local/src目录解压tar-zxvfpostgresql-13.0.tar.gz编译源码并安装创建postgres用户:启动数据库要用这个用户权限启动useraddpostgres创建安装目录和启动日志文件mkdir/usr/local/pgsqlchown

java - SonarQube 代码重复检测器是否可以参数化以停止在方法边界上?

我在我的Java项目中使用SonarQube,并希望尽可能地从我们的代码中消除代码重复。我的问题是SonarQube的代码重复检测没有考虑方法边界。它将文件的相同部分列为重复项,并且经常发生重复项从一个方法的中间开始并在另一个方法的中间结束。这些很难重构。这是一个example.点击右上方列表框MavenArtifactRepository.java文件,查看页面下方第4个复制block。有没有什么方法可以参数化代码重复检测器插件以显示重复,这些重复在语法上是一致的? 最佳答案 目前您无法通过配置SonarQube本身来实现。但是,

java - SonarQube 问题 "Add at least one assertion to this test case"用于带有断言的单元测试?

我在使用SonarQube时遇到问题,我的几个单元测试出现了问题,提示了以下问题:Addatleastoneassertiontothistestcase.每个测试用例都类似于这种格式(其中许多断言被委托(delegate)给具有公共(public)断言的方法,以避免重复):@TestpublicvoidcompanyNameOneTooLong()throwsException{AddressFormBeanformBean=getValidBean();formBean.setCompanyNameOne("123456789012345678901234567890123456"

java - SonarQube 声明对于使用 "this."访问的字段始终评估为 false 的条件

这似乎是“条件执行的block应该是可访问的”规则误报的新示例(squid:S2583)。有谁知道为什么SonarQube声称if(this.x==0)在以下Java类中总是求值为false?publicclassMyClass{privatelongx;voidsetX(longx){this.x=x;}publicvoiddecrementX(){if(this.x>0){this.x--;if(this.x==0){//很明显,变量x可以设置为1,然后decrementX()将进入那个确切的条件:@TestpublicvoidtestDecrement(){MyClassc=ne

java - Maven SonarQube 多模块

我有一个由多个模块组成的项目。我正在尝试使用SonarQube分析这些。我已将SonarMaven插件作为依赖项包含在每个模块中:org.codehaus.sonarsonar-maven-plugin5.1然后我使用以下方法运行Maven:mvncleanverifysonar:sonarMaven成功完成,我可以看到Sonar分析正在进行,但是当我打开SonarUI时,模块在项目中不可见。然而...如果我从单个模块目录运行Maven命令,它在项目中是可见的。感觉我遗漏了一些非常简单的东西,感谢任何帮助! 最佳答案 不是作为依赖项

java - Sonarqube 集成和 startSonar.bat 失败错误(0x2)

昨天我在VisualStudioTeamService上开始了一个新的虚幻引擎项目,我决定自学视频游戏编程的艺术。无论如何,我想在这个项目中使用的最好的事情是将SonarQube集成到VisualStudio中并从中获取报告(我已经在大学使用过它,它对我来说真的很有用),但我遇到了一些奇怪的问题:首先,我想在我的本地PC上运行analisys,问题是今天我运行了bat,但我遇到了这个问题,我已经在某个地方检查过这个问题,但我相信这不是%JAVA_HOME%变量。WrapperStartedasConsoleLaunchingaJVM...UnabletoexecuteJavacomma

Sonarqube 5.6 Analys在背景中失败,没有日志

嗨,我很长一段时间以来面临这个问题。我没有任何帮助,所以我试图再次重新发布它,这是我的旧问题建立成功后,无法在Sonarqube服务器中看到Sonarqube分析。了解更多信息IamusingMSSQLshareddatabaseformysonarqube.我没有任何错误日志来弄清楚我的问题。但是,当我取出数据库并使用嵌入式数据库进行运行时,运行良好。但是,当我通过配置MSSQL数据库运行时,我会有间歇性分析故障。我的环境是Linux的Sonarqube5.6,数据库MSSQL14。谢谢你的帮助..看答案我使用了另一个有助于解决问题的数据库。当我发现这个问题时,我尝试使用嵌入式数据库进行分析

java - 使用特定的 jdk 启动 SonarQube 服务器

有没有办法用特定的jdk启动SonarQube服务器(3.7.4版)?我的情况:我的java-home设置为jdk1.8,但SonarQube服务器在1.8中存在一些已知问题。所以我想用jdk1.7启动服务器(不将我的java-home设置为1.7)。我在bat文件中找不到任何内容。操作系统:Windows7;SonarQube服务器版本:3.7.4 最佳答案 您必须编辑/conf/wrapper.conf文件并更新wrapper.java.command属性指向你想要的JDK。一切都记录在这个wrapper.conf中文件。