Java代码静态检查技术探究Java代码静态检查技术探究(三)PMD的快速启动配置

举报
Jet Ding 发表于 2021/07/22 17:54:04 2021/07/22
【摘要】 这是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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。