问题标签 [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.
java - 三元运算符不应该嵌套(squid:S3358)可以配置吗
当我有以下具有 2 级三元运算的代码时
哪个 Sonar 发出警告
仅仅因为你可以做某事,并不意味着你应该做,嵌套三元操作就是这种情况。嵌套三元运算符产生的代码在您编写时可能看起来很清晰,但六个月后会让维护者(或更糟 - 未来的您)摸不着头脑并诅咒。
相反,为了清楚起见而犯错,并使用另一行将嵌套操作表示为单独的语句。
我的同事建议可以接受这样的水平,它比替代方案更清楚。
我想知道是否可以将此规则(或其他规则)配置为允许的级别限制?
如果不是,为什么声纳在处理代码约定时如此严格?
我不想忽略规则,只是为了自定义以允许最多 2 个级别而不是 1 个级别。
java - 与 Memoize 一起使用的番石榴供应商的 Sonarlint 违规行为
我正在使用 Guava Suppliers 来记忆并在固定时间后重新加载一些数据。最近,sonarlint 开始生成警告消息,例如“Java 8 功能应优先于 Guava (squid:S4738)”。
谁能告诉我,我实际上可以在这里以任何方式使用 Java 供应商来实现相同的功能?
代码示例
java - 如何使用 Maven 构建 SonarLint 源代码?
我正在尝试为 Eclipse 构建声纳 lint 以用于开发目的并添加新语言。我做了一些更改,但我无法生成一个 zip 文件,我可以将其作为插件本地安装在 eclipse 中。
我努力了
mvn clean package
: 不工作
clean install
: 不工作
mvn compile
: 不工作
我什至尝试打开 plugin.xml 并单击green play
显示在屏幕右上角的按钮,如 github 中所写。但它仍然不起作用。
我没有找到任何与此相关的文档,我们如何生成插件以在 Eclipse 中安装它。
sonarqube - 如何从设计器运行 webMethods 包以触发 SonarQube
我正在尝试从设计器运行 webMethods 包以触发 SonarQube。SonarLint 允许运行项目,但不允许运行 webMethods 包。
现在,我将声纳扫描仪属性文件放在包中,并通过 cmd 提示符触发声纳扫描仪。
请帮忙。
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”都在代码中多次使用...
上面的类是用下面的类测试的:
java - 尝试从 hashmap 中获取值时在 Eclipse 中出现 sonarlint 错误
在尝试从哈希映射中获取值时,我遇到了诸如“在访问值之前调用“Optional#isPresent()”之类的错误。
代码:
请给我一个解决这个问题的方法,谢谢
java - 如何序列化一个可以作为自己类型参数的泛型类?
编辑 2:问题已解决。支持 Joachim Sauer 和 Viral Lalakia 的答案。
解决方案:Comparable<T>
如果我将和交换Serializable
为 type , SonarLint 不会发出警告T
。它给出的警告应被视为误报。
初始问题:
所以,我有一个Pair<T>
我想成为的通用类,Serializable
并且Comparable
. 此外,我想 T
成为Comparable
(而且我也需要它是Serializable
可Pair<T>
序列化的)。
该类PairCoord
继承自它,并且T
是一个Integer
.
我正在使用 SonarLint 进行代码分析,我试图强迫自己遵循每一个建议(尤其是非常重要的建议),并且它一直警告我泛型 classPair
的属性不是可序列化的,尽管已将它们标记为.
这是我所做的:
我在first
andlast
字段上有 SonarLint 严重警告,因为它们不可序列化,即使我将它们标记为可序列化('“可序列化”类中的字段应该是瞬态的或可序列化的')
我能做些什么来解决这个问题(如果可能的话)?
(编辑1:错字)