Java代码静态检查技术探究Java代码静态检查技术探究(三)PMD的快速启动配置
【摘要】 这是PMD的快速启动配置,包括所有如下规则:AbstractClassWithoutAnyMethod,AssignmentInOperand,AssignmentToNonFinalStatic,AvoidAccessibilityAlteration,AvoidBranchingStatementAsLastInLoop,AvoidCatchingThrowable,AvoidDecim...
这是PMD的快速启动配置,包括所有如下规则:
AbstractClassWithoutAnyMethod,
AssignmentInOperand,
AssignmentToNonFinalStatic,
AvoidAccessibilityAlteration,
AvoidBranchingStatementAsLastInLoop,
AvoidCatchingThrowable,
AvoidDecimalLiteralsInBigDecimalConstructor,
AvoidDollarSigns,
AvoidInstanceofChecksInCatchClause,
AvoidMessageDigestField,
AvoidMultipleUnaryOperators,
AvoidProtectedFieldInFinalClass,
AvoidProtectedMethodInFinalClassNotExtending,
AvoidStringBufferField,
AvoidThreadGroup,
AvoidUsingHardCodedIP,
AvoidUsingOctalValues,
AvoidUsingVolatile,
BadComparison,
BigIntegerInstantiation,
BooleanInstantiation,
BrokenNullCheck,
CheckResultSet,
CheckSkipResult,
ClassCastExceptionWithToArray,
ClassNamingConventions,
ClassWithOnlyPrivateConstructorsShouldBeFinal,
CloneMethodMustBePublic,
CloneMethodMustImplementCloneable,
CloneMethodReturnTypeMustMatchClassName,
CloneThrowsCloneNotSupportedException,
CloseResource,
CompareObjectsWithEquals,
ConstantsInInterface,
ControlStatementBraces,
DefaultLabelNotLastInSwitchStmt,
DoNotCallGarbageCollectionExplicitly,
DoNotExtendJavaLangError,
DoNotExtendJavaLangThrowable,
DontCallThreadRun,
DontImportJavaLang,
DontUseFloatTypeForLoopIndices,
DoubleBraceInitialization,
DoubleCheckedLocking,
DuplicateImports,
EmptyCatchBlock,
EmptyFinalizer,
EmptyFinallyBlock,
EmptyIfStmt,
EmptyInitializer,
EmptyStatementBlock,
EmptyStatementNotInLoop,
EmptySwitchStatements,
EmptySynchronizedBlock,
EmptyTryBlock,
EmptyWhileStmt,
EqualsNull,
ExtendsObject,
FinalFieldCouldBeStatic,
ForLoopCanBeForeach,
ForLoopShouldBeWhileLoop,
FormalParameterNamingConventions,
GenericsNaming,
GuardLogStatement,
IdempotentOperations,
IdenticalCatchBranches,
ImportFromSamePackage,
InstantiationToGetClass,
JumbledIncrementer,
LocalVariableNamingConventions,
LogicInversion,
LooseCoupling,
MethodNamingConventions,
MisplacedNullCheck,
MissingBreakInSwitch,
MissingOverride,
MissingStaticMethodInNonInstantiatableClass,
NonCaseLabelInSwitchStatement,
NonStaticInitializer,
NonThreadSafeSingleton,
NoPackage,
OneDeclarationPerLine,
OptimizableToArrayCall,
OverrideBothEqualsAndHashcode,
PackageCase,
PositionLiteralsFirstInCaseInsensitiveComparisons,
PositionLiteralsFirstInComparisons,
PreserveStackTrace,
ProperCloneImplementation,
ProperLogger,
ReturnEmptyArrayRatherThanNull,
ReturnFromFinallyBlock,
SimplifiedTernary,
SimplifyBooleanReturns,
SimplifyConditional,
SingleMethodSingleton,
SingletonClassReturningNewInstance,
SingularField,
SuspiciousEqualsMethodName,
SuspiciousHashcodeMethodName,
SuspiciousOctalEscape,
SwitchStmtsShouldHaveDefault,
UncommentedEmptyConstructor,
UncommentedEmptyMethodBody,
UnconditionalIfStatement,
UnnecessaryAnnotationValueElement,
UnnecessaryConstructor,
UnnecessaryConversionTemporary,
UnnecessaryFullyQualifiedName,
UnnecessaryLocalBeforeReturn,
UnnecessaryModifier,
UnnecessaryReturn,
UnsynchronizedStaticFormatter,
UnusedFormalParameter,
UnusedImports,
UnusedLocalVariable,
UnusedNullCheckInEquals,
UnusedPrivateField,
UnusedPrivateMethod,
UseAssertEqualsInsteadOfAssertTrue,
UseAssertNullInsteadOfAssertTrue,
UseAssertSameInsteadOfAssertTrue,
UseAssertTrueInsteadOfAssertEquals,
UseCollectionIsEmpty,
UseEqualsToCompareStrings,
UselessOperationOnImmutable,
UselessOverridingMethod,
UselessParentheses,
UselessQualifiedThis,
UseLocaleWithCaseConversions,
UseNotifyAllInsteadOfNotify,
UseUtilityClass
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)