代码中的PMD问题 - 它们是否至关重要?

时间:2013-08-22 16:42:42

标签: java eclipse spring-mvc sonarqube pmd

PMD已经为我们确定了许多问题 - 其中很多问题似乎都很挑剔。我有一个下面的列表 - 我可以问一下蜂巢的想法 - 如果你必须从下面的列表中选择前5个特定规则它们会是什么? 我正在努力平衡努力与对生产有害的关键性。

提前致谢!

AssignmentInOperand

AvoidDeeplyNestedIfStmts

AvoidDuplicateLiterals

AvoidInstantiatingObjectsInLoops

ClassWithOnlyPrivateConstructorsShouldBeFinal

CollapsibleIfStatements

循环复杂度

EmptyIfStmt

ExcessiveMethodLength

ExcessivePublicCount

ImmutableField

InefficientStringBuffering

InsufficientStringBufferDeclaration

LocalVariableCouldBeFinal

LooseCoupling

MethodArgumentCouldBeFinal

NcssMethodCount

NPathComplexity

PackageCase

PositionLiteralsFirstInComparisons

SignatureDeclareThrowsException

SingularField

TooManyFields

UncommentedEmptyConstructor

UncommentedEmptyMethod

UnusedImports

UnusedPrivateField

UseSingleton

3 个答案:

答案 0 :(得分:1)

糟糕!有人可能会争辩说,所有都指向一个真正需要重构的代码库,以提高可重用性和未来的可维护性,而且它们都不是“挑剔”的。请注意,静态分析会提出建议,并且您最好判断对您的代码,客户和预算有何益处。

但是,如果我必须先选择一些重点关注,那么我会去寻找那些表明更深层次的架构问题的东西:AvoidDeeplyNestedIfStmts,CyclomaticComplexity,LooseCoupling,TooManyFields和ExcessiveMethodLength。只是我的0.02美元......

答案 1 :(得分:0)

PMD或任何其他静态代码分析器可帮助您编写更好的代码。有一些参数/规则可用于分析您的代码。任何关键的东西都会被java编译器本身捕获。这些工具可以帮助您在代码中找到一些缺陷,并以更清晰的方式格式化代码。

答案 2 :(得分:0)

您修复的问题越多,代码就越好,越清洁。如果您认为规则过于“挑剔”,并且您不希望PMD报告该规则,则从rules.xml文件中删除该规则。 PMD还允许您在代码中放置注释以忽略该错误。