问题标签 [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.
java - 测试浮点相等性。(FE_FLOATING_POINT_EQUALITY)
我在 ANT 脚本中使用了 findbugs,但我不知道如何修复我的两个错误。我已阅读文档,但不明白。以下是我的错误和附带的代码:
错误 1:测试浮点相等性。(FE_FLOATING_POINT_EQUALITY)
错误 2:EQ_COMPARETO_USE_OBJECT_EQUALS
我已经阅读了 ComparesTo 问题的文档,其中指出
强烈建议但不严格要求 (x.compareTo(y)==0) == (x.equals(y))。一般来说,任何实现了 Comparable 接口并违反此条件的类都应该清楚地表明这一事实。推荐的语言是“注意:这个类有一个与equals不一致的自然顺序。”
以及关于浮点相等的文档
此操作比较两个浮点值是否相等。因为浮点计算可能涉及舍入,所以计算出的浮点和双精度值可能不准确。对于必须精确的值,例如货币值,请考虑使用固定精度类型,例如 BigDecimal。对于不需要精确的值,请考虑比较某个范围内的相等性,例如:if ( Math.abs(x - y) < .0000001 )。请参阅 Java 语言规范,第 4.2.4 节。
我不明白。有人可以帮忙吗?
ant - Findbug - ANT xslt 样式表源代码参考
我有一个 ANT 目标,它在同一源代码上运行 findbugs 两次以生成 xml 和 html 报告
这是愚蠢的,因为可以使用 xml 报告生成 html 报告
但生成的 html 报告没有正确的源代码引用。关于如何使其正常工作并避免重复的 findbugs 调用的任何想法?
回答后更新
java - 抑制 Eclipse 中的 FindBugs 警告
我使用字符串作为锁,所以想确保对象是一个新实例。FindBugs 抱怨是因为直接定义字符串(使用双引号)通常更有效。我的代码如下所示:
我在这里做错了吗?Eclipse FindBugs 插件仍然报告这是一个问题:
android - 是否可以在 Android 上使用像 FindBugs 这样的静态分析工具?
我对 Android 开发相对较新,快速的谷歌搜索没有任何兴趣。
java - 如何检测新值已添加到枚举中并且未在开关中处理
有时我必须在我的项目中为枚举类型添加一个新值。
我想要的是为我拥有的每个未处理新值的开关产生编译时错误,如下所示:
有一个默认值:抛出一些异常还不够好,我希望它是编译时间。
我不认为这是可能的,但也许有人有一个巧妙的技巧......
我以为 Findbugs 会有一个规则来找到那些,但我只看到了这个: Eq: Covariant equals() method defined for enum (EQ_DONT_DEFINE_EQUALS_FOR_ENUM)
编辑:我选择马克的回复,我确实使用 Eclipse,这听起来就像我需要的一样!我根本不是 findbugs 方面的专家,所以我可能错过了这样的功能,尽管我不这么认为。
maven-2 - Findbugs Maven 插件 - findbugs-exclude 与多个项目
我有一个多项目设置,使用 Maven 和 Findbugs 插件。我需要在其中一个子项目中排除一些文件,所以我将其添加到findbugs-exclude.xml
. 这在我构建子项目时有效。
当我尝试在顶层构建时,我的问题就出现了。findbugs-exclude.xml
Maven在子项目中找不到。所以它不会忽略我的错误并因此而失败。我可以将我findbugs-exclude.xml
的放在顶级目录中,并且排除工作。但那是污染顶层,不会被看好。
有没有办法让 Maven 插件使用findbugs-exclude.xml
子目录中的文件?最好在顶层几乎没有变化?
java - 如何在 Findbugs 中使用 @CheckForNull 等?
当我通过 Findbugs 运行它时,我收到一个警告:
警告的详细信息如下:
Bug:
arg
必须为非空但被标记为可为空
模式 id:NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE
, type:NP
, category:STYLE
此参数始终以要求它为非空的方式使用,但该参数被显式注释为 be
Nullable
。参数的使用或注释的使用是错误的。
有人可以解释一下 Findbugs 在这里抱怨什么吗?
请注意,我使用的是edu.umd.cs.findbugs.annotations.*
成员,而不是javax.annotations.*
. (有区别吗?)
为 Eclipse 3.6.1 设置的是 FindBugs 插件 1.3.9.2009-。
Matthew Flaschen 建议我@NonNull
改用,但现在我遇到了这个问题:
警告的详细信息是:
错误:由于调用方法的返回值可能导致空指针取消引用
Pattern id:NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE
, type:NP
, category:STYLE
方法的返回值在没有检查的情况下被取消引用
null
,并且该方法的返回值通常应该被检查null
。这可能会导致NullPointerException
代码被执行。
我基本上想blah
满足@CheckForNull
要求,但是如果我将其设为 arg be ,我将无法做到@NonNull
。我怎样才能让它工作?
java - 排除 findBugs 发现的错误
当我使用 findBugs 时,我会得到错误列表。我修复了一些错误,其中一些不是我希望修复的错误。
下次我在代码上运行 findBugs 时,如何配置它以忽略这些错误?
java - PMD - 有没有办法跟踪单个开发人员的 PMD 投诉
是否有工具或插件可以跟踪每个开发人员的 PMD、CheckStyle 和 Findbugs 不合规报告
谢谢KR