问题标签 [sonarlint-eclipse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2037 浏览

java - 三元运算符不应该嵌套(squid:S3358)可以配置吗

当我有以下具有 2 级三元运算的代码时

哪个 Sonar 发出警告

仅仅因为你可以做某事,并不意味着你应该做,嵌套三元操作就是这种情况。嵌套三元运算符产生的代码在您编写时可能看起来很清晰,但六个月后会让维护者(或更糟 - 未来的您)摸不着头脑并诅咒。

相反,为了清楚起见而犯错,并使用另一行将嵌套操作表示为单独的语句。

我的同事建议可以接受这样的水平,它比替代方案更清楚。

我想知道是否可以将此规则(或其他规则)配置为允许的级别限制?

如果不是,为什么声纳在处理代码约定时如此严格?

我不想忽略规则,只是为了自定义以允许最多 2 个级别而不是 1 个级别。

0 投票
0 回答
684 浏览

eclipse - Sonarlint Eclipse - 停用规则列表

我在 Eclipse 中使用 Sonarlint。我知道如何激活/停用规则。如何获取我在 Eclipse 中停用的所有规则的列表?我看不到 Sonarlint 插件将它们存储在哪里。请注意,我无法从下面显示的图像中复制任何内容,但 Sonarlint 正在从某处提取此列表。

Sonarlint 规则配置

0 投票
1 回答
131 浏览

java - 与 Memoize 一起使用的番石榴供应商的 Sonarlint 违规行为

我正在使用 Guava Suppliers 来记忆并在固定时间后重新加载一些数据。最近,sonarlint 开始生成警告消息,例如“Java 8 功能应优先于 Guava (squid:S4738)”。

谁能告诉我,我实际上可以在这里以任何方式使用 Java 供应商来实现相同的功能?

代码示例

0 投票
0 回答
1959 浏览

eclipse - 用于检查特定 Java 文件的 Eclipse 中未显示 Sonarlint 选项

最近我在 Eclipse 中安装了声纳 lint。我面临以下问题。您能否请有人建议并指导我从我这边出了什么问题。

问题:

SolarList 首先安装成功。我右键单击我的项目,然后我可以看到选项 Sonar lint 来验证我的代码,但是我右键单击了我的单个 java 文件以仅检查未显示 sonar lint 选项的特定文件。

下面附上截图

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
568 浏览

java - 如何使用 Maven 构建 SonarLint 源代码?

我正在尝试为 Eclipse 构建声纳 lint 以用于开发目的并添加新语言。我做了一些更改,但我无法生成一个 zip 文件,我可以将其作为插件本地安装在 eclipse 中。

我努力了

mvn clean package: 不工作 clean install: 不工作 mvn compile : 不工作

我什至尝试打开 plugin.xml 并单击green play显示在屏幕右上角的按钮,如 github 中所写。但它仍然不起作用。

我没有找到任何与此相关的文档,我们如何生成插件以在 Eclipse 中安装它。

0 投票
0 回答
123 浏览

sonarqube - 如何从设计器运行 webMethods 包以触发 SonarQube

我正在尝试从设计器运行 webMethods 包以触发 SonarQube。SonarLint 允许运行项目,但不允许运行 webMethods 包。

现在,我将声纳扫描仪属性文件放在包中,并通过 cmd 提示符触发声纳扫描仪。

请帮忙。

0 投票
1 回答
587 浏览

sonarlint - 有没有办法下载在 Eclipse IDE 中生成的 SonarLint 报告?

SonarLint 分析代码并在其 SonarLint 报告窗口中生成报告。但是,我找不到提取/导出此报告的任何选项。

我还尝试在首选项中查找任何设置,但找不到任何设置。

日食中的 SolarLint 窗口

0 投票
2 回答
1770 浏览

java - Eclipse SonarLint 误报“应删除未使用的分配 (java:S1854)”

我正在使用 Eclipse 2020-03 (4.15.0) 和 Sonarlint for Eclipse 5.1.0.17086,我在以下代码中得到了 IMO 误报 S1854 警告(取自“Java 8 In Action”一书)。使用 Java OpenJDK 13.0.2。这不是什么大事,因为我只是在学习 Java 8 技术。我只是想了解为什么这些行被标记...

我在这里错过了什么吗?“length”、“leftTask”和“rightTask”都在代码中多次使用...

上面的类是用下面的类测试的:

0 投票
3 回答
130 浏览

java - 尝试从 hashmap 中获取值时在 Eclipse 中出现 sonarlint 错误

在尝试从哈希映射中获取值时,我遇到了诸如“在访问值之前调用“Optional#isPresent()”之类的错误。

代码:

请给我一个解决这个问题的方法,谢谢

0 投票
1 回答
207 浏览

java - 如何序列化一个可以作为自己类型参数的泛型类?

编辑 2:问题已解决。支持 Joachim Sauer 和 Viral Lalakia 的答案。

解决方案:Comparable<T>如果我将和交换Serializable为 type , SonarLint 不会发出警告T。它给出的警告应被视为误报。


初始问题:

所以,我有一个Pair<T>我想成为的通用类,Serializable并且Comparable. 此外,我 T成为Comparable(而且我也需要它是SerializablePair<T>序列化的)。

该类PairCoord继承自它,并且T是一个Integer.

我正在使用 SonarLint 进行代码分析,我试图强迫自己遵循每一个建议(尤其是非常重要的建议),并且它一直警告我泛型 classPair的属性不是可序列化的,尽管已将它们标记为.

这是我所做的:

我在firstandlast字段上有 SonarLint 严重警告,因为它们不可序列化,即使我将它们标记为可序列化('“可序列化”类中的字段应该是瞬态的或可序列化的')

我能做些什么来解决这个问题(如果可能的话)?

(编辑1:错字)