1.关于PMD:
1.1 如何设置 PMD 检查,忽略其中的一些,例如“变量名称太短或太长”、“删除空构造函数等” - 如果我这样做,则会出现另一个警告,说明该类必须有一些静态方法。基本上,这个类是空的,以供以后开发,我现在喜欢这样。
1.2 是否有必要遵循此警告建议?
A class which only has private constructors should be final
1.3 那应该是什么意思?
The class 'Dog' has a Cyclomatic Complexity of 3 (Highest = 17)
1.4 这个呢?我很想改变这一点,但目前我没有想到关于改变:
Assigning an Object to null is a code smell. Consider refactoring.
2.关于 FindBugs:
2.1 在声明之后的某个时刻写入静态字段真的有那么糟糕吗?以下代码给了我一个警告:
Main.appCalendar = Calendar.getInstance();
Main.appCalendar.setTimeInMillis(System.currentTimeMillis());
其中appCalendar
是一个静态变量。
2.2 此代码:
strLine = objBRdr.readLine().trim();
给出警告:
Immediate dereference of the result of readLine()
哪里objBRdr
是BufferedReader(FileReader)
。会发生什么?readLine()
可以为空吗?代码嵌套在while (objBRdr.ready())
测试中,到目前为止,我在那里的问题为零。
Update1:当我将代码替换为以下内容时,2.2 已修复:
strLine = objBRdr.readLine();
if (strLine != null) {
strLine = strLine.trim();
}