jjzjj

java - 字符串比较中文字的正确位置是什么?

我有if(localName.equals("TaxName")){但是PMD说PositionliteralsfirstinStringcomparisons 最佳答案 "TaxName".equals(localName)更好,因为如果localName为空,您将不会得到空指针异常。 关于java-字符串比较中文字的正确位置是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question

java - 枚举中的内部类在 Java 中总是静态的吗?

我有一个枚举类,它包含一个Java内部类。例如(在实际代码中,有一些在枚举上声明的方法在内部使用了内部类):publicenumMyEnum{VALUE_1,VALUE_2;privatestaticclassMyInnerClass//isstatichereneededorcanitberemoved?{}}PMD告诉我不需要'static'修饰符(违反UnusedModifier规则)。这是正确的还是PMD错误?备注:Thisquestion不是重复的,它与我在这里问的相反。 最佳答案 static关键字不是多余的。您可以创建

java - 为自动装箱使用生成警告

我想为所有自动装箱和拆箱生成警告。有没有人找到有效的方法?Eclipse捕获基本的自动装箱错误:例如。整数i=null;我++。但是在任何复杂的事情上都失败了,这并不是我真正想要的。我查看了PMD和Checkstyle但在那里找不到任何东西。我知道这是一个有争议的话题,但我认为这是一个危险的功能。没有办法禁用它,所以我至少想要一份报告,以便在代码审查期间进行检查。我在代码审查和错误中经常看到此NullPointerException:classX{Integeri=null;publicintdoSomething(){returni+2;}}我想阻止它走那么远。

我如何获得PMD报告&其中的详细信息不使用I/O?

我正在尝试使用自定义规则集生成PMD报告。输入是字符串格式的一堆Apex类。然后,我想直接解析报告内容(XML格式),以创建违规,开始/终点,优先级,规则名称和附加的消息的摘要。这将在Apex代码的多个主体上完成,每次违规时都会增加报告bean。我试图与Sourcecodeprocessor一起执行此操作,但无法弄清楚某些必需的对象/参数是什么样的,或者它们的构建方式。我仍然不知道如何制作Rulecontext对象属性。任何帮助都得到了极大的赞赏。看答案根据您打算做的事情,我将采取一种稍微不同的方法(我是PMD维护者)。SourceCodeProcessor非常低级。这是整个分析过程精心策划的

c++ - 抑制来自 CPD 的 C/C++ 代码警告

我们正在使用PMDCopyPasteDetector(CPD)来分析我们的C和C++代码。然而,代码中有几部分非常相似,但有充分的理由,我们希望抑制这些部分的警告。documentationofPMDCPD只提到了一些关于注释的东西,但这对我们这些语言不起作用。我怎样才能仍然忽略特定部分的警告?是否有评论可以这样做?[更新]我正在使用以下Groovy脚本来运行CPD:@GrabResolver(name='jcenter',root='https://jcenter.bintray.com/')@Grab('net.sourceforge.pmd:pmd-core:5.4.+')@Gr

java - PMD 对象构造期间调用的可覆盖方法

我有以下结构publicclassparent{intvalue;}publicclasschildextendsparent{intchildValue;publicchild(){}publicchild(intvalue){this.childValue=value;//thislinecauseConstructorCallsOverridableMethodwarningduringobjectconstruction}}请问如何解决这个错误? 最佳答案 PMDrule说:Callingoverridablemethods

java - 在 StringBuffer append 中对单字符值使用字符而不是 String

我正在查看PMD规则AppendCharacterWithChar。它说AvoidconcatenatingcharactersasstringsinStringBuffer.append.StringBuffersb=newStringBuffer();//Avoidthissb.append("a");//useinsteadsomethinglikethisStringBuffersb=newStringBuffer();sb.append('a');我真的需要这个PMD规则吗?下面两段代码的性能差异大吗?Stringtext=newStringBuffer().append("

java - 默认构造函数是好是坏? Checkstyle和PMD在这里是相反的

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。ImprovethisquestionCheckstyle说:Classshoulddefineaconstructor.PMD说:Avoidunnecessaryconstructors-thecompilerwillgeneratetheseforyou.谁是对的?或者让我们这样说-在一个类中有一个空的默认ctor有什么优点和缺点?

java - Intellij IDEA 内置检查代码 vs checkstyle, PMD & findbugs

最近我在寻找最好的代码检查工具集。我的IDE是Intellij15.0,我知道那里有很好的检查功能,但是当我浏览互联网时,我没有找到Intellij内置检查代码与这三个代码之间的良好比较。尝试过所有方法的人可以提供一些最佳实践吗?Intellij涵盖所有这些吗?我知道findbugs以二进制级别运行,但仍然让它留在比较中。 最佳答案 在Checkstyle项目本身,我们使用所有这些工具:Checkstyle,PMD,FindBugs和IntelliJIDEAinspections.这是我的观察:在格式化、空格、大括号位置、Javad

java - 如何解决以下 PMD 违规问题

我正在使用PMD分析代码,它会产生一些我不知道如何修复的高优先级警告。1)避免if(x!=y)..;else...;但是需要这个逻辑怎么办呢?也就是说,我确实需要检查是否x!=y?我该如何重构它?2)使用显式作用域而不是默认的包私有(private)级别。但是该类确实只在包内使用。我应该使用什么访问修饰符?3)参数没有赋值,可以声明为final。我是否应该在PMD指出的所有地方添加final关键字? 最佳答案 避免否定:代替if(x!=y)doThis()elsedoThat(),首先检查正例,因为人/人类倾向于喜欢积极的东西胜过消