问题标签 [findbugs]

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 投票
3 回答
1831 浏览

java - FindBugs 有争议的描述

是我理解错了,还是描述错了?

Equals 检查不兼容的操作数 (EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS)

这个equals方法正在检查参数是否是一些不兼容的类型(即,一个既不是定义equals方法的类的超类型也不是子类型的类)。例如,Foo 类可能有一个如下所示的 equals 方法:

这被认为是不好的做法,因为它很难实现对称和传递的 equals 方法。如果没有这些属性,可能会出现非常意想不到的行为。

来自: http: //findbugs.sourceforge.net/bugDescriptions.html#EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS

描述说 Foo 类可能有一个这样的 equals 方法,然后说“这被认为是不好的做法”。我没有得到“正确的方法”..

以下方法应该如何正确?

0 投票
3 回答
6792 浏览

java - FindBugs:“可能无法关闭流” - 这在 InputStream 的情况下是否有效?

在我的 Java 代码中,我启动了一个新进程,然后获取它的输入流来读取它:

FindBugs 在这里报错:

我必须关闭另一个进程的 InputStream 吗?更重要的是,根据它的 Javadoc, InputStream#close() 什么都不做。那么这是误报,还是我应该在完成后真正关闭进程的输入流?

0 投票
1 回答
2174 浏览

java - 是否可以仅针对一个 Java 类运行 FindBugs?

我使用 FindBugs Eclipse 插件并且想知道我是否可以只分析一个类而不是整个项目?我似乎无法弄清楚。只需右键单击目标类似乎没有任何作用。

0 投票
5 回答
14169 浏览

java - FindBugs - 如何解决 EQ_COMPARETO_USE_OBJECT_EQUALS

我这里一无所知...

在第 6 行,我从 FindBugs 获得:Bug: net.blabla.SqlFixer$ForeignKeyConstraint defines compareTo(SqlFixer$ForeignKeyConstraint) and uses Object.equals()

链接到定义

我不知道如何纠正这个。

0 投票
1 回答
396 浏览

hudson - Ant脚本生成了一个findbugs_result.xml,但是hudson不能在主界面显示。为什么?

build.xml 中的 Findbugs 脚本:Findbugs 检查编码... Findbugs 检查编码...

生成一个 findbugs_result.xml。

下载适用于 hudson 的 Findbugs 插件。

输入 hudson 的 findbugs_result.xml 路径。

但是hudson不能在主界面上显示。为什么?

0 投票
1 回答
600 浏览

findbugs - 哪些错误适用于不同的 FindBugs 报告级别?

根据 Ant 任务,报告级别是低/中/高设置,用于查找不同关键级别的错误。但是,我找不到任何东西来解释哪些错误适用于这些不同的报告级别。

有没有什么地方可以提供这个,即使它是我需要在源代码中查看的东西?

0 投票
2 回答
981 浏览

java - Hudson 的 FindBugs 插件报告错误的行号“-1”。想法?

您好,
我在 Hudson 建立了一个简单的测试项目,该项目的构建过程(一个批处理文件)会生成一个 findbugs.xml 文件。这是由 Hudson 的 FindBugs 插件处理的,但它将错误的行号显示为“-1”而不是它们的实际行号。一位同事建议我为编译器启用调试信息。我为 javac 使用了 -g“生成所有调试信息”选项,但似乎没有任何改变。我的构建命令是:

build.bat 文件中唯一的另一件事是调用 FindBug 工具(文本 UI)。以下是 FindBugs 插件对第一个错误的说明:

有任何想法吗?万分感谢!

0 投票
1 回答
1200 浏览

findbugs - 如何生成一个 FindBugs 报告,显示在错误数据库中的两个修订之间删除的错误?

我正在尝试针对我创建的错误数据库执行 FindBugs 命令 filterBugs 和 convertXmlToText 的组合,以生成一份报告,显示在我正在处理的系统的两个修订版之间删除的所有错误。不幸的是,生成的报告没有显示任何错误细节。看来 convertXmlToText 丢弃了所有已死的错误(又名非活动)......我希望看到的确切错误集。以下是将 filterBugs 命令的结果传递给 mineBugHistory 命令时看到的内容:

我希望在 HTML 报告中看到的是在版本 r39764(序列号 0)中显示为活动的 64 个错误的列表。下面是我用来生成 HTML 报告的命令行:

0 投票
1 回答
5473 浏览

java - 这些 FindBug 消息显示了什么?

并非来自http://findbugs.sourceforge.net/bugDescriptions.html的所有描述对我来说都是清楚的。当然,我可以研究实现,但如果有人比我更有经验,一些解释和例子会很棒。

  • 当出现问题时,您是否有一些 UI_INHERITANCE_UNSAFE_GETRESOURCE 示例?
  • 在 BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR 我也没有看到问题。如果一种类型比另一种类型“更大”,例如 int 和 float,则结果为 float。如果它的整数和浮点数也是包装器浮点数。这就是我所期望的。
  • GC_UNRELATED_TYPES 真的有助于查找错误吗?编译器的工作不是检查是否——以给定的例子——Foo不能进入Collection<String>.
  • HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS 的意思是bla(Foo f){hashtable.put(f);}'Foo' 是不可散列的吗?FingBugs 也“看到”子类吗?
  • NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH 比 NP_ALWAYS_NULL_EXCEPTION 更“错误”?为什么有两个错误案例,还有一个 NP_NULL_ON_SOME_PATH_EXCEPTION 呢?听起来和我很相似。
  • SIO_SUPERFLUOUS_INSTANCEOF 的示例是什么?类似的东西foo(String s){if (s intenceof String) ...。这也做了一个空检查,但这不是这里的测试......
  • NN_NAKED_NOTIFY。我认为描述不清楚。不需要改变状态。如果我使用 new Object() 等待并通知我不会更改对象状态。或者状态是锁定状态?我不明白。
  • SP_SPIN_ON_FIELD。编译器会将其从循环中移出真的会发生这种情况吗?这对我来说没有意义,因为从 Thread 外部总是可以更改值。并且如果变量是volatileJVM不能缓存值。那么有什么意义呢?
  • 那就是 STCAL_STATIC_CALENDAR_INSTANCE 和 STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE 或 STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE/STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE 之间的区别?
  • 为什么 WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL 中的 XXXX.class 比 getClass() 更好?从子类调用的超类中的 getClass() 将始终从子类返回 Class 对象,我认为这很好。
  • EQ_UNUSUAL 到底是做什么的?它应该检查参数是否与类本身的类型相同,但事实并非如此?
  • 你有过休息的问题吗?SF_SWITCH_FALLTHROUGH 有真正的价值吗?对我来说听起来很强大。
  • 不知道 TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK 和 TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK 可能是什么。
0 投票
3 回答
1119 浏览

java - 所有这些 FindBugs 前缀 AM、BC、DP、... 是什么意思?

http://findbugs.sourceforge.net/bugDescriptions.html包含一长串错误类型。它们属于正确性和性能等类别,但也以前缀开头。相等的 EQ 很明显,就像 SQL 或 BIT 一样。但有些神秘。是否有一个列表所有这些前缀的含义?