FindBugs检测到以下代码的SIC_INNER_SHOULD_BE_STATIC_ANON警告。除了忽略SuppressFBWarnings中的警告之外,我如何避免SIC_INNER_SHOULD_BE_STATIC_ANON? Class MyClass $ 1 may be able to be refactored into a named static inner class.
Local variable name reference public class MyClass() {
public Map<String, String> fromJSON(
如果我在servlet中有以下代码:
Properties p = new Properties();
p.load(getClass().getResourceAsStream("/test.properties"));
如果我通过FindBugs运行servlet,我希望得到警告,但我没有。如果我使用类似的方法打开文件系统上的任意文件(即不在类路径中),我会得到预期的Findbugs警告:
Properties p = new Properties();
p.load(new FileInputStream(new File("c:/test.properties&
我想抑制特定字段或局部变量的FindBugs警告。FindBugs文档的Target可以是Type、Field、Method、Parameter、Constructor、Package,因为它的edu.umd.cs.findbugs.annotations.SuppressWarning批注1。但我不能对字段进行批注,只有当我批注方法时,警告才会取消。
注释整个方法对我来说似乎很宽泛。有没有办法抑制特定字段上的警告?还有另一个相关的问题2,但没有答案。
演示代码:
public class SyncOnBoxed
{
static int counter = 0;
// T
我最近发现了FindBugs的@edu.umd.cs.findbugs.annotations.SuppressWarnings注释,它非常酷,允许您基本上告诉FindBugs忽略某些警告。
我成功地实现了我自己的SLF4J绑定,按照他们的建议使用slf4j-simple并使用您自己的记录器和记录器工厂绑定来修改它,我很高兴地说它工作起来很有魅力。
我刚刚在包含这个SLF4J绑定的包上运行了find,它抱怨原始StaticLoggerBinder作者(Ceki )编写的特定代码行:
// to avoid constant folding by the compiler, this field
假设我有一个类,它创建对象并使用静态变量跟踪对象的数量。如下所示:
public class Apple {
private static int count = 0;
public Apple () {
count++;
}
public void removeApple() {
count--;
}
}
当我用FindBugs检查这段代码时,我得到了警告Write to static field from instance method,这是显而易见的。
我如何解决这个问题,使它更安全,甚至摆脱FindBugs警
我想在我的应用程序中使用FindBugs来检测空指针故障,我关心的是代码
public class Test
{
public static void main(String[] args)
{
String nullStr = null;
Person p = new Person();
String mightBeNull = p.getAddress().getStreet();
getString(mightBeNull);
getString2(nullStr);
}
com.google.common.base.Function接口(来自)将apply定义为:
@Nullable T apply(@Nullable F input);
该方法具有以下javadoc注释:
@throws NullPointerException if {@code input} is null and this function does not accept null arguments。
FindBugs抱怨我的函数实现:
private static final class Example implements Function<MyBean, String&g
许多标准的源代码检查工具(PMD、FindBugs、Checkstyles)都实现了“字符串相等”规则,在比较字符串时使用== (或!=)可以被检测到并报告为错误。
我正在寻求编写(或配置!)类似的规则适用于我的API中的一组其他对象类型。
//Want to detect things like:
Instance a = ...;
Instance b = ...;
if ( a == b ) //Error here, not using a.equals(b)
看看PMD & FindBugs,没有明显的(或简单的)方法可以做到这一点,有没有人遇到过这样的事情?
干杯,Ro
我有以下代码:
/**
* Performs the filename extension check (command-line argument validity).
* @param valid True, if the check should be performed.
* @param filename File name to test.
* @return False, if the test was done and the filename does not end with
* ".xml". Value of valid otherwise.
我正在进行一个项目,其中日期格式作为静态实用程序字段保存,如下所示
public static final SimpleDateFormat MM_DD_YYYY = new SimpleDateFormat(DATE_FORMAT_DEFAULT, Locale.US);
幸运的是,FindBugs开始警告说,对于多线程的使用,DateFormats本质上是不安全的。
为了删除这些警告,团队中的一个开发人员将字段访问更改为私有,并提供了如下所示的公共访问器函数
private static final SimpleDateFormat MM_DD_YYYY = new SimpleDateF
In :是否有官方的DTD或XML用于FindBugs/SpotBugs筛选文件?
详细:在FindBugs/SpotBugs中,可以定义过滤器文件,这些文件是文件。我的IDE抱怨缺少DTD或XML,这很好。我知道如何抑制这个警告,但我更喜欢添加一个适当的语法文件。因此,是否存在由FindBugs/SpotBugs筛选文件提供的DTD或XML?我找不到一个。