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
答案 0 :(得分:1)
糟糕!有人可能会争辩说,所有都指向一个真正需要重构的代码库,以提高可重用性和未来的可维护性,而且它们都不是“挑剔”的。请注意,静态分析会提出建议,并且您最好判断对您的代码,客户和预算有何益处。
但是,如果我必须先选择一些重点关注,那么我会去寻找那些表明更深层次的架构问题的东西:AvoidDeeplyNestedIfStmts,CyclomaticComplexity,LooseCoupling,TooManyFields和ExcessiveMethodLength。只是我的0.02美元......
答案 1 :(得分:0)
PMD或任何其他静态代码分析器可帮助您编写更好的代码。有一些参数/规则可用于分析您的代码。任何关键的东西都会被java编译器本身捕获。这些工具可以帮助您在代码中找到一些缺陷,并以更清晰的方式格式化代码。
答案 2 :(得分:0)
您修复的问题越多,代码就越好,越清洁。如果您认为规则过于“挑剔”,并且您不希望PMD报告该规则,则从rules.xml文件中删除该规则。 PMD还允许您在代码中放置注释以忽略该错误。