[
{
"title": "3rd party rulesets",
"tags": "rule_referencesuserdocs",
"keywords": "",
"url": "pmd_userdocs_3rdpartyrulesets.html",
"summary": "Lists rulesets and rules from the community"
}
,
{
"title": "Adding PMD support for a new ANTLR grammar based language",
"tags": "devdocsextending",
"keywords": "",
"url": "pmd_devdocs_major_adding_new_language_antlr.html",
"summary": "How to add a new language to PMD using ANTLR grammar."
}
,
{
"title": "Adding PMD support for a new JavaCC grammar based language",
"tags": "devdocsextending",
"keywords": "",
"url": "pmd_devdocs_major_adding_new_language_javacc.html",
"summary": "How to add a new language to PMD using JavaCC grammar."
}
,
{
"title": "How to add a new CPD language",
"tags": "devdocsextending",
"keywords": "",
"url": "pmd_devdocs_major_adding_new_cpd_language.html",
"summary": "How to add a new language module with CPD support."
}
,
{
"title": "ADR 1 - Use architecture decision records",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_decisions_adr_1.html",
"summary": ""
}
,
{
"title": "ADR 2 - Policy on the use of Kotlin for development",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_decisions_adr_2.html",
"summary": ""
}
,
{
"title": "ADR 3 - API evolution principles",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_decisions_adr_3.html",
"summary": ""
}
,
{
"title": "ADR NNN - Template",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_decisions_adr_NNN.html",
"summary": ""
}
,
{
"title": "Ant Task Usage",
"tags": "userdocstools",
"keywords": "",
"url": "pmd_userdocs_tools_ant.html",
"summary": ""
}
,
{
"title": "Apex Rules",
"tags": "rule_referencesapex",
"keywords": "",
"url": "pmd_rules_apex.html",
"summary": "Index of all built-in rules available for Apex"
}
,
{
"title": "Apex support",
"tags": "languagesPmdCapableLanguageCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_apex.html",
"summary": "Apex-specific features and guidance"
}
,
{
"title": "Creating XML dump of the AST",
"tags": "userdocs",
"keywords": "",
"url": "pmd_userdocs_extending_ast_dump.html",
"summary": "Creating a XML representation of the AST allows to analyze the AST with other tools."
}
,
{
"title": "Best Practices",
"tags": "userdocs",
"keywords": "",
"url": "pmd_userdocs_best_practices.html",
"summary": ""
}
,
{
"title": "Best Practices (Kotlin, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_kotlin_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "FunctionNameTooShort (Kotlin, Best Practices)",
"tags": "",
"keywords": "FunctionNameTooShort",
"url": "pmd_rules_kotlin_bestpractices.html#functionnametooshort",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "Best Practices (HTML, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_html_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "AvoidInlineStyles (HTML, Best Practices)",
"tags": "",
"keywords": "AvoidInlineStyles",
"url": "pmd_rules_html_bestpractices.html#avoidinlinestyles",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UnnecessaryTypeAttribute (HTML, Best Practices)",
"tags": "",
"keywords": "UnnecessaryTypeAttribute",
"url": "pmd_rules_html_bestpractices.html#unnecessarytypeattribute",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UseAltAttributeForImages (HTML, Best Practices)",
"tags": "",
"keywords": "UseAltAttributeForImages",
"url": "pmd_rules_html_bestpractices.html#usealtattributeforimages",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "Best Practices (JavaScript, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_ecmascript_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "AvoidWithStatement (JavaScript, Best Practices)",
"tags": "",
"keywords": "AvoidWithStatement",
"url": "pmd_rules_ecmascript_bestpractices.html#avoidwithstatement",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ConsistentReturn (JavaScript, Best Practices)",
"tags": "",
"keywords": "ConsistentReturn",
"url": "pmd_rules_ecmascript_bestpractices.html#consistentreturn",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "GlobalVariable (JavaScript, Best Practices)",
"tags": "",
"keywords": "GlobalVariable",
"url": "pmd_rules_ecmascript_bestpractices.html#globalvariable",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ScopeForInVariable (JavaScript, Best Practices)",
"tags": "",
"keywords": "ScopeForInVariable",
"url": "pmd_rules_ecmascript_bestpractices.html#scopeforinvariable",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UseBaseWithParseInt (JavaScript, Best Practices)",
"tags": "",
"keywords": "UseBaseWithParseInt",
"url": "pmd_rules_ecmascript_bestpractices.html#usebasewithparseint",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "Best Practices (Java, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_java_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "AbstractClassWithoutAbstractMethod (Java, Best Practices)",
"tags": "",
"keywords": "AbstractClassWithoutAbstractMethod",
"url": "pmd_rules_java_bestpractices.html#abstractclasswithoutabstractmethod",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "AccessorClassGeneration (Java, Best Practices)",
"tags": "",
"keywords": "AccessorClassGeneration",
"url": "pmd_rules_java_bestpractices.html#accessorclassgeneration",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "AccessorMethodGeneration (Java, Best Practices)",
"tags": "",
"keywords": "AccessorMethodGeneration",
"url": "pmd_rules_java_bestpractices.html#accessormethodgeneration",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ArrayIsStoredDirectly (Java, Best Practices)",
"tags": "",
"keywords": "ArrayIsStoredDirectly",
"url": "pmd_rules_java_bestpractices.html#arrayisstoreddirectly",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "AvoidMessageDigestField (Java, Best Practices)",
"tags": "",
"keywords": "AvoidMessageDigestField",
"url": "pmd_rules_java_bestpractices.html#avoidmessagedigestfield",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "AvoidPrintStackTrace (Java, Best Practices)",
"tags": "",
"keywords": "AvoidPrintStackTrace",
"url": "pmd_rules_java_bestpractices.html#avoidprintstacktrace",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "AvoidReassigningCatchVariables (Java, Best Practices)",
"tags": "",
"keywords": "AvoidReassigningCatchVariables",
"url": "pmd_rules_java_bestpractices.html#avoidreassigningcatchvariables",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "AvoidReassigningLoopVariables (Java, Best Practices)",
"tags": "",
"keywords": "AvoidReassigningLoopVariables",
"url": "pmd_rules_java_bestpractices.html#avoidreassigningloopvariables",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "AvoidReassigningParameters (Java, Best Practices)",
"tags": "",
"keywords": "AvoidReassigningParameters",
"url": "pmd_rules_java_bestpractices.html#avoidreassigningparameters",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "AvoidStringBufferField (Java, Best Practices)",
"tags": "",
"keywords": "AvoidStringBufferField",
"url": "pmd_rules_java_bestpractices.html#avoidstringbufferfield",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "AvoidUsingHardCodedIP (Java, Best Practices)",
"tags": "",
"keywords": "AvoidUsingHardCodedIP",
"url": "pmd_rules_java_bestpractices.html#avoidusinghardcodedip",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "CheckResultSet (Java, Best Practices)",
"tags": "",
"keywords": "CheckResultSet",
"url": "pmd_rules_java_bestpractices.html#checkresultset",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ConstantsInInterface (Java, Best Practices)",
"tags": "",
"keywords": "ConstantsInInterface",
"url": "pmd_rules_java_bestpractices.html#constantsininterface",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "DefaultLabelNotLastInSwitchStmt (Java, Best Practices)",
"tags": "",
"keywords": "DefaultLabelNotLastInSwitchStmt",
"url": "pmd_rules_java_bestpractices.html#defaultlabelnotlastinswitchstmt",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "DefaultLabelNotLastInSwitch (Java, Best Practices)",
"tags": "",
"keywords": "DefaultLabelNotLastInSwitch",
"url": "pmd_rules_java_bestpractices.html#defaultlabelnotlastinswitch",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "DoubleBraceInitialization (Java, Best Practices)",
"tags": "",
"keywords": "DoubleBraceInitialization",
"url": "pmd_rules_java_bestpractices.html#doublebraceinitialization",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ForLoopCanBeForeach (Java, Best Practices)",
"tags": "",
"keywords": "ForLoopCanBeForeach",
"url": "pmd_rules_java_bestpractices.html#forloopcanbeforeach",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ForLoopVariableCount (Java, Best Practices)",
"tags": "",
"keywords": "ForLoopVariableCount",
"url": "pmd_rules_java_bestpractices.html#forloopvariablecount",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "GuardLogStatement (Java, Best Practices)",
"tags": "",
"keywords": "GuardLogStatement",
"url": "pmd_rules_java_bestpractices.html#guardlogstatement",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "JUnit4SuitesShouldUseSuiteAnnotation (Java, Best Practices)",
"tags": "",
"keywords": "JUnit4SuitesShouldUseSuiteAnnotation",
"url": "pmd_rules_java_bestpractices.html#junit4suitesshouldusesuiteannotation",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "JUnit4TestShouldUseAfterAnnotation (Java, Best Practices)",
"tags": "",
"keywords": "JUnit4TestShouldUseAfterAnnotation",
"url": "pmd_rules_java_bestpractices.html#junit4testshoulduseafterannotation",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "JUnit4TestShouldUseBeforeAnnotation (Java, Best Practices)",
"tags": "",
"keywords": "JUnit4TestShouldUseBeforeAnnotation",
"url": "pmd_rules_java_bestpractices.html#junit4testshouldusebeforeannotation",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "JUnit4TestShouldUseTestAnnotation (Java, Best Practices)",
"tags": "",
"keywords": "JUnit4TestShouldUseTestAnnotation",
"url": "pmd_rules_java_bestpractices.html#junit4testshouldusetestannotation",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "JUnit5TestShouldBePackagePrivate (Java, Best Practices)",
"tags": "",
"keywords": "JUnit5TestShouldBePackagePrivate",
"url": "pmd_rules_java_bestpractices.html#junit5testshouldbepackageprivate",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "JUnitAssertionsShouldIncludeMessage (Java, Best Practices)",
"tags": "",
"keywords": "JUnitAssertionsShouldIncludeMessage",
"url": "pmd_rules_java_bestpractices.html#junitassertionsshouldincludemessage",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "JUnitTestContainsTooManyAsserts (Java, Best Practices)",
"tags": "",
"keywords": "JUnitTestContainsTooManyAsserts",
"url": "pmd_rules_java_bestpractices.html#junittestcontainstoomanyasserts",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "JUnitTestsShouldIncludeAssert (Java, Best Practices)",
"tags": "",
"keywords": "JUnitTestsShouldIncludeAssert",
"url": "pmd_rules_java_bestpractices.html#junittestsshouldincludeassert",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "JUnitUseExpected (Java, Best Practices)",
"tags": "",
"keywords": "JUnitUseExpected",
"url": "pmd_rules_java_bestpractices.html#junituseexpected",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "LiteralsFirstInComparisons (Java, Best Practices)",
"tags": "",
"keywords": "LiteralsFirstInComparisons",
"url": "pmd_rules_java_bestpractices.html#literalsfirstincomparisons",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "LooseCoupling (Java, Best Practices)",
"tags": "",
"keywords": "LooseCoupling",
"url": "pmd_rules_java_bestpractices.html#loosecoupling",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "MethodReturnsInternalArray (Java, Best Practices)",
"tags": "",
"keywords": "MethodReturnsInternalArray",
"url": "pmd_rules_java_bestpractices.html#methodreturnsinternalarray",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "MissingOverride (Java, Best Practices)",
"tags": "",
"keywords": "MissingOverride",
"url": "pmd_rules_java_bestpractices.html#missingoverride",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "NonExhaustiveSwitch (Java, Best Practices)",
"tags": "",
"keywords": "NonExhaustiveSwitch",
"url": "pmd_rules_java_bestpractices.html#nonexhaustiveswitch",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "OneDeclarationPerLine (Java, Best Practices)",
"tags": "",
"keywords": "OneDeclarationPerLine",
"url": "pmd_rules_java_bestpractices.html#onedeclarationperline",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "PreserveStackTrace (Java, Best Practices)",
"tags": "",
"keywords": "PreserveStackTrace",
"url": "pmd_rules_java_bestpractices.html#preservestacktrace",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "PrimitiveWrapperInstantiation (Java, Best Practices)",
"tags": "",
"keywords": "PrimitiveWrapperInstantiation",
"url": "pmd_rules_java_bestpractices.html#primitivewrapperinstantiation",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ReplaceEnumerationWithIterator (Java, Best Practices)",
"tags": "",
"keywords": "ReplaceEnumerationWithIterator",
"url": "pmd_rules_java_bestpractices.html#replaceenumerationwithiterator",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ReplaceHashtableWithMap (Java, Best Practices)",
"tags": "",
"keywords": "ReplaceHashtableWithMap",
"url": "pmd_rules_java_bestpractices.html#replacehashtablewithmap",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ReplaceVectorWithList (Java, Best Practices)",
"tags": "",
"keywords": "ReplaceVectorWithList",
"url": "pmd_rules_java_bestpractices.html#replacevectorwithlist",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "SimplifiableTestAssertion (Java, Best Practices)",
"tags": "",
"keywords": "SimplifiableTestAssertion",
"url": "pmd_rules_java_bestpractices.html#simplifiabletestassertion",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "SwitchStmtsShouldHaveDefault (Java, Best Practices)",
"tags": "",
"keywords": "SwitchStmtsShouldHaveDefault",
"url": "pmd_rules_java_bestpractices.html#switchstmtsshouldhavedefault",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "SystemPrintln (Java, Best Practices)",
"tags": "",
"keywords": "SystemPrintln",
"url": "pmd_rules_java_bestpractices.html#systemprintln",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UnitTestAssertionsShouldIncludeMessage (Java, Best Practices)",
"tags": "",
"keywords": "UnitTestAssertionsShouldIncludeMessage",
"url": "pmd_rules_java_bestpractices.html#unittestassertionsshouldincludemessage",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UnitTestContainsTooManyAsserts (Java, Best Practices)",
"tags": "",
"keywords": "UnitTestContainsTooManyAsserts",
"url": "pmd_rules_java_bestpractices.html#unittestcontainstoomanyasserts",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UnitTestShouldIncludeAssert (Java, Best Practices)",
"tags": "",
"keywords": "UnitTestShouldIncludeAssert",
"url": "pmd_rules_java_bestpractices.html#unittestshouldincludeassert",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UnitTestShouldUseAfterAnnotation (Java, Best Practices)",
"tags": "",
"keywords": "UnitTestShouldUseAfterAnnotation",
"url": "pmd_rules_java_bestpractices.html#unittestshoulduseafterannotation",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UnitTestShouldUseBeforeAnnotation (Java, Best Practices)",
"tags": "",
"keywords": "UnitTestShouldUseBeforeAnnotation",
"url": "pmd_rules_java_bestpractices.html#unittestshouldusebeforeannotation",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UnitTestShouldUseTestAnnotation (Java, Best Practices)",
"tags": "",
"keywords": "UnitTestShouldUseTestAnnotation",
"url": "pmd_rules_java_bestpractices.html#unittestshouldusetestannotation",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UnnecessaryVarargsArrayCreation (Java, Best Practices)",
"tags": "",
"keywords": "UnnecessaryVarargsArrayCreation",
"url": "pmd_rules_java_bestpractices.html#unnecessaryvarargsarraycreation",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UnusedAssignment (Java, Best Practices)",
"tags": "",
"keywords": "UnusedAssignment",
"url": "pmd_rules_java_bestpractices.html#unusedassignment",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UnusedFormalParameter (Java, Best Practices)",
"tags": "",
"keywords": "UnusedFormalParameter",
"url": "pmd_rules_java_bestpractices.html#unusedformalparameter",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UnusedLocalVariable (Java, Best Practices)",
"tags": "",
"keywords": "UnusedLocalVariable",
"url": "pmd_rules_java_bestpractices.html#unusedlocalvariable",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UnusedPrivateField (Java, Best Practices)",
"tags": "",
"keywords": "UnusedPrivateField",
"url": "pmd_rules_java_bestpractices.html#unusedprivatefield",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UnusedPrivateMethod (Java, Best Practices)",
"tags": "",
"keywords": "UnusedPrivateMethod",
"url": "pmd_rules_java_bestpractices.html#unusedprivatemethod",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UseCollectionIsEmpty (Java, Best Practices)",
"tags": "",
"keywords": "UseCollectionIsEmpty",
"url": "pmd_rules_java_bestpractices.html#usecollectionisempty",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UseEnumCollections (Java, Best Practices)",
"tags": "",
"keywords": "UseEnumCollections",
"url": "pmd_rules_java_bestpractices.html#useenumcollections",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UseStandardCharsets (Java, Best Practices)",
"tags": "",
"keywords": "UseStandardCharsets",
"url": "pmd_rules_java_bestpractices.html#usestandardcharsets",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UseTryWithResources (Java, Best Practices)",
"tags": "",
"keywords": "UseTryWithResources",
"url": "pmd_rules_java_bestpractices.html#usetrywithresources",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UseVarargs (Java, Best Practices)",
"tags": "",
"keywords": "UseVarargs",
"url": "pmd_rules_java_bestpractices.html#usevarargs",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "WhileLoopWithLiteralBoolean (Java, Best Practices)",
"tags": "",
"keywords": "WhileLoopWithLiteralBoolean",
"url": "pmd_rules_java_bestpractices.html#whileloopwithliteralboolean",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "Best Practices (Java Server Pages, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_jsp_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "DontNestJsfInJstlIteration (Java Server Pages, Best Practices)",
"tags": "",
"keywords": "DontNestJsfInJstlIteration",
"url": "pmd_rules_jsp_bestpractices.html#dontnestjsfinjstliteration",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "NoClassAttribute (Java Server Pages, Best Practices)",
"tags": "",
"keywords": "NoClassAttribute",
"url": "pmd_rules_jsp_bestpractices.html#noclassattribute",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "NoHtmlComments (Java Server Pages, Best Practices)",
"tags": "",
"keywords": "NoHtmlComments",
"url": "pmd_rules_jsp_bestpractices.html#nohtmlcomments",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "NoJspForward (Java Server Pages, Best Practices)",
"tags": "",
"keywords": "NoJspForward",
"url": "pmd_rules_jsp_bestpractices.html#nojspforward",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "Best Practices (Velocity Template Language (VTL), Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_velocity_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "AvoidReassigningParameters (Velocity Template Language (VTL), Best Practices)",
"tags": "",
"keywords": "AvoidReassigningParameters",
"url": "pmd_rules_velocity_bestpractices.html#avoidreassigningparameters",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UnusedMacroParameter (Velocity Template Language (VTL), Best Practices)",
"tags": "",
"keywords": "UnusedMacroParameter",
"url": "pmd_rules_velocity_bestpractices.html#unusedmacroparameter",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "Best Practices (PLSQL, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_plsql_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "TomKytesDespair (PLSQL, Best Practices)",
"tags": "",
"keywords": "TomKytesDespair",
"url": "pmd_rules_plsql_bestpractices.html#tomkytesdespair",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "Best Practices (XML, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_xml_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "MissingEncoding (XML, Best Practices)",
"tags": "",
"keywords": "MissingEncoding",
"url": "pmd_rules_xml_bestpractices.html#missingencoding",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "Best Practices (Apex, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_apex_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ApexAssertionsShouldIncludeMessage (Apex, Best Practices)",
"tags": "",
"keywords": "ApexAssertionsShouldIncludeMessage",
"url": "pmd_rules_apex_bestpractices.html#apexassertionsshouldincludemessage",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ApexUnitTestClassShouldHaveAsserts (Apex, Best Practices)",
"tags": "",
"keywords": "ApexUnitTestClassShouldHaveAsserts",
"url": "pmd_rules_apex_bestpractices.html#apexunittestclassshouldhaveasserts",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ApexUnitTestClassShouldHaveRunAs (Apex, Best Practices)",
"tags": "",
"keywords": "ApexUnitTestClassShouldHaveRunAs",
"url": "pmd_rules_apex_bestpractices.html#apexunittestclassshouldhaverunas",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ApexUnitTestMethodShouldHaveIsTestAnnotation (Apex, Best Practices)",
"tags": "",
"keywords": "ApexUnitTestMethodShouldHaveIsTestAnnotation",
"url": "pmd_rules_apex_bestpractices.html#apexunittestmethodshouldhaveistestannotation",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ApexUnitTestShouldNotUseSeeAllDataTrue (Apex, Best Practices)",
"tags": "",
"keywords": "ApexUnitTestShouldNotUseSeeAllDataTrue",
"url": "pmd_rules_apex_bestpractices.html#apexunittestshouldnotuseseealldatatrue",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "AvoidGlobalModifier (Apex, Best Practices)",
"tags": "",
"keywords": "AvoidGlobalModifier",
"url": "pmd_rules_apex_bestpractices.html#avoidglobalmodifier",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "AvoidLogicInTrigger (Apex, Best Practices)",
"tags": "",
"keywords": "AvoidLogicInTrigger",
"url": "pmd_rules_apex_bestpractices.html#avoidlogicintrigger",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "DebugsShouldUseLoggingLevel (Apex, Best Practices)",
"tags": "",
"keywords": "DebugsShouldUseLoggingLevel",
"url": "pmd_rules_apex_bestpractices.html#debugsshoulduselogginglevel",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UnusedLocalVariable (Apex, Best Practices)",
"tags": "",
"keywords": "UnusedLocalVariable",
"url": "pmd_rules_apex_bestpractices.html#unusedlocalvariable",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "QueueableWithoutFinalizer (Apex, Best Practices)",
"tags": "",
"keywords": "QueueableWithoutFinalizer",
"url": "pmd_rules_apex_bestpractices.html#queueablewithoutfinalizer",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "Best Practices (Swift, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_swift_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ProhibitedInterfaceBuilder (Swift, Best Practices)",
"tags": "",
"keywords": "ProhibitedInterfaceBuilder",
"url": "pmd_rules_swift_bestpractices.html#prohibitedinterfacebuilder",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "UnavailableFunction (Swift, Best Practices)",
"tags": "",
"keywords": "UnavailableFunction",
"url": "pmd_rules_swift_bestpractices.html#unavailablefunction",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "Best Practices (Modelica, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_modelica_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ClassStartNameEqualsEndName (Modelica, Best Practices)",
"tags": "",
"keywords": "ClassStartNameEqualsEndName",
"url": "pmd_rules_modelica_bestpractices.html#classstartnameequalsendname",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "ConnectUsingNonConnector (Modelica, Best Practices)",
"tags": "",
"keywords": "ConnectUsingNonConnector",
"url": "pmd_rules_modelica_bestpractices.html#connectusingnonconnector",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "AmbiguousResolution (Modelica, Best Practices)",
"tags": "",
"keywords": "AmbiguousResolution",
"url": "pmd_rules_modelica_bestpractices.html#ambiguousresolution",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
"title": "bld PMD Extension",
"tags": "userdocstools",
"keywords": "",
"url": "pmd_userdocs_tools_bld.html",
"summary": ""
}
,
{
"title": "Building PMD from source",
"tags": "devdocs",
"keywords": "",
"url": "pmd_devdocs_building.html",
"summary": ""
}
,
{
"title": "Continuous Integrations plugins",
"tags": "userdocstools",
"keywords": "",
"url": "pmd_userdocs_tools_ci.html",
"summary": ""
}
,
{
"title": "PMD CLI reference",
"tags": "userdocs",
"keywords": "commandlineoptionshelpformatsrenderers",
"url": "pmd_userdocs_cli_reference.html",
"summary": "Full reference for PMD's command-line interface, including options, output formats and supported languages"
}
,
{
"title": "Coco support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_coco.html",
"summary": "Coco features and guidance"
}
,
{
"title": "Code Style (JavaScript, Code Style)",
"tags": "",
"keywords": "Code Style",
"url": "pmd_rules_ecmascript_codestyle.html#code style",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "AssignmentInOperand (JavaScript, Code Style)",
"tags": "",
"keywords": "AssignmentInOperand",
"url": "pmd_rules_ecmascript_codestyle.html#assignmentinoperand",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "ForLoopsMustUseBraces (JavaScript, Code Style)",
"tags": "",
"keywords": "ForLoopsMustUseBraces",
"url": "pmd_rules_ecmascript_codestyle.html#forloopsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "IfElseStmtsMustUseBraces (JavaScript, Code Style)",
"tags": "",
"keywords": "IfElseStmtsMustUseBraces",
"url": "pmd_rules_ecmascript_codestyle.html#ifelsestmtsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "IfStmtsMustUseBraces (JavaScript, Code Style)",
"tags": "",
"keywords": "IfStmtsMustUseBraces",
"url": "pmd_rules_ecmascript_codestyle.html#ifstmtsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "NoElseReturn (JavaScript, Code Style)",
"tags": "",
"keywords": "NoElseReturn",
"url": "pmd_rules_ecmascript_codestyle.html#noelsereturn",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UnnecessaryBlock (JavaScript, Code Style)",
"tags": "",
"keywords": "UnnecessaryBlock",
"url": "pmd_rules_ecmascript_codestyle.html#unnecessaryblock",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UnnecessaryParentheses (JavaScript, Code Style)",
"tags": "",
"keywords": "UnnecessaryParentheses",
"url": "pmd_rules_ecmascript_codestyle.html#unnecessaryparentheses",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UnreachableCode (JavaScript, Code Style)",
"tags": "",
"keywords": "UnreachableCode",
"url": "pmd_rules_ecmascript_codestyle.html#unreachablecode",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "WhileLoopsMustUseBraces (JavaScript, Code Style)",
"tags": "",
"keywords": "WhileLoopsMustUseBraces",
"url": "pmd_rules_ecmascript_codestyle.html#whileloopsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "Code Style (XSL, Code Style)",
"tags": "",
"keywords": "Code Style",
"url": "pmd_rules_xsl_codestyle.html#code style",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UseConcatOnce (XSL, Code Style)",
"tags": "",
"keywords": "UseConcatOnce",
"url": "pmd_rules_xsl_codestyle.html#useconcatonce",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "Code Style (Java, Code Style)",
"tags": "",
"keywords": "Code Style",
"url": "pmd_rules_java_codestyle.html#code style",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "AtLeastOneConstructor (Java, Code Style)",
"tags": "",
"keywords": "AtLeastOneConstructor",
"url": "pmd_rules_java_codestyle.html#atleastoneconstructor",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "AvoidDollarSigns (Java, Code Style)",
"tags": "",
"keywords": "AvoidDollarSigns",
"url": "pmd_rules_java_codestyle.html#avoiddollarsigns",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "AvoidProtectedFieldInFinalClass (Java, Code Style)",
"tags": "",
"keywords": "AvoidProtectedFieldInFinalClass",
"url": "pmd_rules_java_codestyle.html#avoidprotectedfieldinfinalclass",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "AvoidProtectedMethodInFinalClassNotExtending (Java, Code Style)",
"tags": "",
"keywords": "AvoidProtectedMethodInFinalClassNotExtending",
"url": "pmd_rules_java_codestyle.html#avoidprotectedmethodinfinalclassnotextending",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "AvoidUsingNativeCode (Java, Code Style)",
"tags": "",
"keywords": "AvoidUsingNativeCode",
"url": "pmd_rules_java_codestyle.html#avoidusingnativecode",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "BooleanGetMethodName (Java, Code Style)",
"tags": "",
"keywords": "BooleanGetMethodName",
"url": "pmd_rules_java_codestyle.html#booleangetmethodname",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "CallSuperInConstructor (Java, Code Style)",
"tags": "",
"keywords": "CallSuperInConstructor",
"url": "pmd_rules_java_codestyle.html#callsuperinconstructor",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "ClassNamingConventions (Java, Code Style)",
"tags": "",
"keywords": "ClassNamingConventions",
"url": "pmd_rules_java_codestyle.html#classnamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "CommentDefaultAccessModifier (Java, Code Style)",
"tags": "",
"keywords": "CommentDefaultAccessModifier",
"url": "pmd_rules_java_codestyle.html#commentdefaultaccessmodifier",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "ConfusingTernary (Java, Code Style)",
"tags": "",
"keywords": "ConfusingTernary",
"url": "pmd_rules_java_codestyle.html#confusingternary",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "ControlStatementBraces (Java, Code Style)",
"tags": "",
"keywords": "ControlStatementBraces",
"url": "pmd_rules_java_codestyle.html#controlstatementbraces",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "EmptyMethodInAbstractClassShouldBeAbstract (Java, Code Style)",
"tags": "",
"keywords": "EmptyMethodInAbstractClassShouldBeAbstract",
"url": "pmd_rules_java_codestyle.html#emptymethodinabstractclassshouldbeabstract",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "EmptyControlStatement (Java, Code Style)",
"tags": "",
"keywords": "EmptyControlStatement",
"url": "pmd_rules_java_codestyle.html#emptycontrolstatement",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "ExtendsObject (Java, Code Style)",
"tags": "",
"keywords": "ExtendsObject",
"url": "pmd_rules_java_codestyle.html#extendsobject",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "FieldDeclarationsShouldBeAtStartOfClass (Java, Code Style)",
"tags": "",
"keywords": "FieldDeclarationsShouldBeAtStartOfClass",
"url": "pmd_rules_java_codestyle.html#fielddeclarationsshouldbeatstartofclass",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "FieldNamingConventions (Java, Code Style)",
"tags": "",
"keywords": "FieldNamingConventions",
"url": "pmd_rules_java_codestyle.html#fieldnamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "FinalParameterInAbstractMethod (Java, Code Style)",
"tags": "",
"keywords": "FinalParameterInAbstractMethod",
"url": "pmd_rules_java_codestyle.html#finalparameterinabstractmethod",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "ForLoopShouldBeWhileLoop (Java, Code Style)",
"tags": "",
"keywords": "ForLoopShouldBeWhileLoop",
"url": "pmd_rules_java_codestyle.html#forloopshouldbewhileloop",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "FormalParameterNamingConventions (Java, Code Style)",
"tags": "",
"keywords": "FormalParameterNamingConventions",
"url": "pmd_rules_java_codestyle.html#formalparameternamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "GenericsNaming (Java, Code Style)",
"tags": "",
"keywords": "GenericsNaming",
"url": "pmd_rules_java_codestyle.html#genericsnaming",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "IdenticalCatchBranches (Java, Code Style)",
"tags": "",
"keywords": "IdenticalCatchBranches",
"url": "pmd_rules_java_codestyle.html#identicalcatchbranches",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "LambdaCanBeMethodReference (Java, Code Style)",
"tags": "",
"keywords": "LambdaCanBeMethodReference",
"url": "pmd_rules_java_codestyle.html#lambdacanbemethodreference",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "LinguisticNaming (Java, Code Style)",
"tags": "",
"keywords": "LinguisticNaming",
"url": "pmd_rules_java_codestyle.html#linguisticnaming",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "LocalHomeNamingConvention (Java, Code Style)",
"tags": "",
"keywords": "LocalHomeNamingConvention",
"url": "pmd_rules_java_codestyle.html#localhomenamingconvention",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "LocalInterfaceSessionNamingConvention (Java, Code Style)",
"tags": "",
"keywords": "LocalInterfaceSessionNamingConvention",
"url": "pmd_rules_java_codestyle.html#localinterfacesessionnamingconvention",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "LocalVariableCouldBeFinal (Java, Code Style)",
"tags": "",
"keywords": "LocalVariableCouldBeFinal",
"url": "pmd_rules_java_codestyle.html#localvariablecouldbefinal",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "LocalVariableNamingConventions (Java, Code Style)",
"tags": "",
"keywords": "LocalVariableNamingConventions",
"url": "pmd_rules_java_codestyle.html#localvariablenamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "LongVariable (Java, Code Style)",
"tags": "",
"keywords": "LongVariable",
"url": "pmd_rules_java_codestyle.html#longvariable",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "MDBAndSessionBeanNamingConvention (Java, Code Style)",
"tags": "",
"keywords": "MDBAndSessionBeanNamingConvention",
"url": "pmd_rules_java_codestyle.html#mdbandsessionbeannamingconvention",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "MethodArgumentCouldBeFinal (Java, Code Style)",
"tags": "",
"keywords": "MethodArgumentCouldBeFinal",
"url": "pmd_rules_java_codestyle.html#methodargumentcouldbefinal",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "MethodNamingConventions (Java, Code Style)",
"tags": "",
"keywords": "MethodNamingConventions",
"url": "pmd_rules_java_codestyle.html#methodnamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "NoPackage (Java, Code Style)",
"tags": "",
"keywords": "NoPackage",
"url": "pmd_rules_java_codestyle.html#nopackage",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UseUnderscoresInNumericLiterals (Java, Code Style)",
"tags": "",
"keywords": "UseUnderscoresInNumericLiterals",
"url": "pmd_rules_java_codestyle.html#useunderscoresinnumericliterals",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "OnlyOneReturn (Java, Code Style)",
"tags": "",
"keywords": "OnlyOneReturn",
"url": "pmd_rules_java_codestyle.html#onlyonereturn",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "PackageCase (Java, Code Style)",
"tags": "",
"keywords": "PackageCase",
"url": "pmd_rules_java_codestyle.html#packagecase",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "PrematureDeclaration (Java, Code Style)",
"tags": "",
"keywords": "PrematureDeclaration",
"url": "pmd_rules_java_codestyle.html#prematuredeclaration",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "RemoteInterfaceNamingConvention (Java, Code Style)",
"tags": "",
"keywords": "RemoteInterfaceNamingConvention",
"url": "pmd_rules_java_codestyle.html#remoteinterfacenamingconvention",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "RemoteSessionInterfaceNamingConvention (Java, Code Style)",
"tags": "",
"keywords": "RemoteSessionInterfaceNamingConvention",
"url": "pmd_rules_java_codestyle.html#remotesessioninterfacenamingconvention",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "ShortClassName (Java, Code Style)",
"tags": "",
"keywords": "ShortClassName",
"url": "pmd_rules_java_codestyle.html#shortclassname",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "ShortMethodName (Java, Code Style)",
"tags": "",
"keywords": "ShortMethodName",
"url": "pmd_rules_java_codestyle.html#shortmethodname",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "ShortVariable (Java, Code Style)",
"tags": "",
"keywords": "ShortVariable",
"url": "pmd_rules_java_codestyle.html#shortvariable",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "TooManyStaticImports (Java, Code Style)",
"tags": "",
"keywords": "TooManyStaticImports",
"url": "pmd_rules_java_codestyle.html#toomanystaticimports",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UnnecessaryAnnotationValueElement (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryAnnotationValueElement",
"url": "pmd_rules_java_codestyle.html#unnecessaryannotationvalueelement",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UnnecessaryBoxing (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryBoxing",
"url": "pmd_rules_java_codestyle.html#unnecessaryboxing",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UnnecessaryCast (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryCast",
"url": "pmd_rules_java_codestyle.html#unnecessarycast",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UnnecessaryConstructor (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryConstructor",
"url": "pmd_rules_java_codestyle.html#unnecessaryconstructor",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UnnecessaryFullyQualifiedName (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryFullyQualifiedName",
"url": "pmd_rules_java_codestyle.html#unnecessaryfullyqualifiedname",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UnnecessaryImport (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryImport",
"url": "pmd_rules_java_codestyle.html#unnecessaryimport",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UnnecessaryLocalBeforeReturn (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryLocalBeforeReturn",
"url": "pmd_rules_java_codestyle.html#unnecessarylocalbeforereturn",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UnnecessaryModifier (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryModifier",
"url": "pmd_rules_java_codestyle.html#unnecessarymodifier",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UnnecessaryReturn (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryReturn",
"url": "pmd_rules_java_codestyle.html#unnecessaryreturn",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UnnecessarySemicolon (Java, Code Style)",
"tags": "",
"keywords": "UnnecessarySemicolon",
"url": "pmd_rules_java_codestyle.html#unnecessarysemicolon",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UseDiamondOperator (Java, Code Style)",
"tags": "",
"keywords": "UseDiamondOperator",
"url": "pmd_rules_java_codestyle.html#usediamondoperator",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UseExplicitTypes (Java, Code Style)",
"tags": "",
"keywords": "UseExplicitTypes",
"url": "pmd_rules_java_codestyle.html#useexplicittypes",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UselessParentheses (Java, Code Style)",
"tags": "",
"keywords": "UselessParentheses",
"url": "pmd_rules_java_codestyle.html#uselessparentheses",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UselessQualifiedThis (Java, Code Style)",
"tags": "",
"keywords": "UselessQualifiedThis",
"url": "pmd_rules_java_codestyle.html#uselessqualifiedthis",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "UseShortArrayInitializer (Java, Code Style)",
"tags": "",
"keywords": "UseShortArrayInitializer",
"url": "pmd_rules_java_codestyle.html#useshortarrayinitializer",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "Code Style (Java Server Pages, Code Style)",
"tags": "",
"keywords": "Code Style",
"url": "pmd_rules_jsp_codestyle.html#code style",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "DuplicateJspImports (Java Server Pages, Code Style)",
"tags": "",
"keywords": "DuplicateJspImports",
"url": "pmd_rules_jsp_codestyle.html#duplicatejspimports",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "Code Style (PLSQL, Code Style)",
"tags": "",
"keywords": "Code Style",
"url": "pmd_rules_plsql_codestyle.html#code style",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "AvoidTabCharacter (PLSQL, Code Style)",
"tags": "",
"keywords": "AvoidTabCharacter",
"url": "pmd_rules_plsql_codestyle.html#avoidtabcharacter",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "CodeFormat (PLSQL, Code Style)",
"tags": "",
"keywords": "CodeFormat",
"url": "pmd_rules_plsql_codestyle.html#codeformat",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "MisplacedPragma (PLSQL, Code Style)",
"tags": "",
"keywords": "MisplacedPragma",
"url": "pmd_rules_plsql_codestyle.html#misplacedpragma",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "ForLoopNaming (PLSQL, Code Style)",
"tags": "",
"keywords": "ForLoopNaming",
"url": "pmd_rules_plsql_codestyle.html#forloopnaming",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "LineLength (PLSQL, Code Style)",
"tags": "",
"keywords": "LineLength",
"url": "pmd_rules_plsql_codestyle.html#linelength",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "Code Style (Apex, Code Style)",
"tags": "",
"keywords": "Code Style",
"url": "pmd_rules_apex_codestyle.html#code style",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "ClassNamingConventions (Apex, Code Style)",
"tags": "",
"keywords": "ClassNamingConventions",
"url": "pmd_rules_apex_codestyle.html#classnamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "IfElseStmtsMustUseBraces (Apex, Code Style)",
"tags": "",
"keywords": "IfElseStmtsMustUseBraces",
"url": "pmd_rules_apex_codestyle.html#ifelsestmtsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "IfStmtsMustUseBraces (Apex, Code Style)",
"tags": "",
"keywords": "IfStmtsMustUseBraces",
"url": "pmd_rules_apex_codestyle.html#ifstmtsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "FieldDeclarationsShouldBeAtStart (Apex, Code Style)",
"tags": "",
"keywords": "FieldDeclarationsShouldBeAtStart",
"url": "pmd_rules_apex_codestyle.html#fielddeclarationsshouldbeatstart",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "FieldNamingConventions (Apex, Code Style)",
"tags": "",
"keywords": "FieldNamingConventions",
"url": "pmd_rules_apex_codestyle.html#fieldnamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "ForLoopsMustUseBraces (Apex, Code Style)",
"tags": "",
"keywords": "ForLoopsMustUseBraces",
"url": "pmd_rules_apex_codestyle.html#forloopsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "FormalParameterNamingConventions (Apex, Code Style)",
"tags": "",
"keywords": "FormalParameterNamingConventions",
"url": "pmd_rules_apex_codestyle.html#formalparameternamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "LocalVariableNamingConventions (Apex, Code Style)",
"tags": "",
"keywords": "LocalVariableNamingConventions",
"url": "pmd_rules_apex_codestyle.html#localvariablenamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "MethodNamingConventions (Apex, Code Style)",
"tags": "",
"keywords": "MethodNamingConventions",
"url": "pmd_rules_apex_codestyle.html#methodnamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "OneDeclarationPerLine (Apex, Code Style)",
"tags": "",
"keywords": "OneDeclarationPerLine",
"url": "pmd_rules_apex_codestyle.html#onedeclarationperline",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "PropertyNamingConventions (Apex, Code Style)",
"tags": "",
"keywords": "PropertyNamingConventions",
"url": "pmd_rules_apex_codestyle.html#propertynamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "WhileLoopsMustUseBraces (Apex, Code Style)",
"tags": "",
"keywords": "WhileLoopsMustUseBraces",
"url": "pmd_rules_apex_codestyle.html#whileloopsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,
{
"title": "Configuring rules",
"tags": "userdocsgetting_started",
"keywords": "propertypropertiesmessagepriority",
"url": "pmd_userdocs_configuring_rules.html",
"summary": "Learn how to configure your rules directly from the ruleset XML."
}
,
{
"title": "Finding duplicated code with CPD",
"tags": "cpduserdocs",
"keywords": "",
"url": "pmd_userdocs_cpd.html",
"summary": "Learn how to use CPD, the copy-paste detector shipped with PMD."
}
,
{
"title": "Report formats for CPD",
"tags": "cpduserdocs",
"keywords": "formatsrenderers",
"url": "pmd_userdocs_cpd_report_formats.html",
"summary": "Overview of the built-in report formats for CPD"
}
,
{
"title": "C/C++ support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_cpp.html",
"summary": "C/C++ features and guidance"
}
,
{
"title": "Credits",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_credits.html",
"summary": ""
}
,
{
"title": "C# support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_cs.html",
"summary": "C#-specific features and guidance"
}
,
{
"title": "Dart support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_dart.html",
"summary": "Dart-specific features and guidance"
}
,
{
"title": "Architecture Decisions",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_decisions.html",
"summary": ""
}
,
{
"title": "Defining rule properties",
"tags": "extendinguserdocs",
"keywords": "",
"url": "pmd_userdocs_extending_defining_properties.html",
"summary": "Learn how to define your own properties both for Java and XPath rules."
}
,
{
"title": "Design (Java, Design)",
"tags": "",
"keywords": "Design",
"url": "pmd_rules_java_design.html#design",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "AbstractClassWithoutAnyMethod (Java, Design)",
"tags": "",
"keywords": "AbstractClassWithoutAnyMethod",
"url": "pmd_rules_java_design.html#abstractclasswithoutanymethod",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "AvoidCatchingGenericException (Java, Design)",
"tags": "",
"keywords": "AvoidCatchingGenericException",
"url": "pmd_rules_java_design.html#avoidcatchinggenericexception",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "AvoidDeeplyNestedIfStmts (Java, Design)",
"tags": "",
"keywords": "AvoidDeeplyNestedIfStmts",
"url": "pmd_rules_java_design.html#avoiddeeplynestedifstmts",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "AvoidRethrowingException (Java, Design)",
"tags": "",
"keywords": "AvoidRethrowingException",
"url": "pmd_rules_java_design.html#avoidrethrowingexception",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "AvoidThrowingNewInstanceOfSameException (Java, Design)",
"tags": "",
"keywords": "AvoidThrowingNewInstanceOfSameException",
"url": "pmd_rules_java_design.html#avoidthrowingnewinstanceofsameexception",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "AvoidThrowingNullPointerException (Java, Design)",
"tags": "",
"keywords": "AvoidThrowingNullPointerException",
"url": "pmd_rules_java_design.html#avoidthrowingnullpointerexception",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "AvoidThrowingRawExceptionTypes (Java, Design)",
"tags": "",
"keywords": "AvoidThrowingRawExceptionTypes",
"url": "pmd_rules_java_design.html#avoidthrowingrawexceptiontypes",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "AvoidUncheckedExceptionsInSignatures (Java, Design)",
"tags": "",
"keywords": "AvoidUncheckedExceptionsInSignatures",
"url": "pmd_rules_java_design.html#avoiduncheckedexceptionsinsignatures",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "ClassWithOnlyPrivateConstructorsShouldBeFinal (Java, Design)",
"tags": "",
"keywords": "ClassWithOnlyPrivateConstructorsShouldBeFinal",
"url": "pmd_rules_java_design.html#classwithonlyprivateconstructorsshouldbefinal",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "CollapsibleIfStatements (Java, Design)",
"tags": "",
"keywords": "CollapsibleIfStatements",
"url": "pmd_rules_java_design.html#collapsibleifstatements",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "CouplingBetweenObjects (Java, Design)",
"tags": "",
"keywords": "CouplingBetweenObjects",
"url": "pmd_rules_java_design.html#couplingbetweenobjects",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "CognitiveComplexity (Java, Design)",
"tags": "",
"keywords": "CognitiveComplexity",
"url": "pmd_rules_java_design.html#cognitivecomplexity",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "CyclomaticComplexity (Java, Design)",
"tags": "",
"keywords": "CyclomaticComplexity",
"url": "pmd_rules_java_design.html#cyclomaticcomplexity",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "DataClass (Java, Design)",
"tags": "",
"keywords": "DataClass",
"url": "pmd_rules_java_design.html#dataclass",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "DoNotExtendJavaLangError (Java, Design)",
"tags": "",
"keywords": "DoNotExtendJavaLangError",
"url": "pmd_rules_java_design.html#donotextendjavalangerror",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "ExceptionAsFlowControl (Java, Design)",
"tags": "",
"keywords": "ExceptionAsFlowControl",
"url": "pmd_rules_java_design.html#exceptionasflowcontrol",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "ExcessiveImports (Java, Design)",
"tags": "",
"keywords": "ExcessiveImports",
"url": "pmd_rules_java_design.html#excessiveimports",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "ExcessiveParameterList (Java, Design)",
"tags": "",
"keywords": "ExcessiveParameterList",
"url": "pmd_rules_java_design.html#excessiveparameterlist",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "ExcessivePublicCount (Java, Design)",
"tags": "",
"keywords": "ExcessivePublicCount",
"url": "pmd_rules_java_design.html#excessivepubliccount",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "FinalFieldCouldBeStatic (Java, Design)",
"tags": "",
"keywords": "FinalFieldCouldBeStatic",
"url": "pmd_rules_java_design.html#finalfieldcouldbestatic",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "GodClass (Java, Design)",
"tags": "",
"keywords": "GodClass",
"url": "pmd_rules_java_design.html#godclass",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "ImmutableField (Java, Design)",
"tags": "",
"keywords": "ImmutableField",
"url": "pmd_rules_java_design.html#immutablefield",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "InvalidJavaBean (Java, Design)",
"tags": "",
"keywords": "InvalidJavaBean",
"url": "pmd_rules_java_design.html#invalidjavabean",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "LawOfDemeter (Java, Design)",
"tags": "",
"keywords": "LawOfDemeter",
"url": "pmd_rules_java_design.html#lawofdemeter",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "LogicInversion (Java, Design)",
"tags": "",
"keywords": "LogicInversion",
"url": "pmd_rules_java_design.html#logicinversion",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "LoosePackageCoupling (Java, Design)",
"tags": "",
"keywords": "LoosePackageCoupling",
"url": "pmd_rules_java_design.html#loosepackagecoupling",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "NcssCount (Java, Design)",
"tags": "",
"keywords": "NcssCount",
"url": "pmd_rules_java_design.html#ncsscount",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "NPathComplexity (Java, Design)",
"tags": "",
"keywords": "NPathComplexity",
"url": "pmd_rules_java_design.html#npathcomplexity",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "SignatureDeclareThrowsException (Java, Design)",
"tags": "",
"keywords": "SignatureDeclareThrowsException",
"url": "pmd_rules_java_design.html#signaturedeclarethrowsexception",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "SimplifiedTernary (Java, Design)",
"tags": "",
"keywords": "SimplifiedTernary",
"url": "pmd_rules_java_design.html#simplifiedternary",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "SimplifyBooleanExpressions (Java, Design)",
"tags": "",
"keywords": "SimplifyBooleanExpressions",
"url": "pmd_rules_java_design.html#simplifybooleanexpressions",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "SimplifyBooleanReturns (Java, Design)",
"tags": "",
"keywords": "SimplifyBooleanReturns",
"url": "pmd_rules_java_design.html#simplifybooleanreturns",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "SimplifyConditional (Java, Design)",
"tags": "",
"keywords": "SimplifyConditional",
"url": "pmd_rules_java_design.html#simplifyconditional",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "SingularField (Java, Design)",
"tags": "",
"keywords": "SingularField",
"url": "pmd_rules_java_design.html#singularfield",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "SwitchDensity (Java, Design)",
"tags": "",
"keywords": "SwitchDensity",
"url": "pmd_rules_java_design.html#switchdensity",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "TooManyFields (Java, Design)",
"tags": "",
"keywords": "TooManyFields",
"url": "pmd_rules_java_design.html#toomanyfields",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "TooManyMethods (Java, Design)",
"tags": "",
"keywords": "TooManyMethods",
"url": "pmd_rules_java_design.html#toomanymethods",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "UselessOverridingMethod (Java, Design)",
"tags": "",
"keywords": "UselessOverridingMethod",
"url": "pmd_rules_java_design.html#uselessoverridingmethod",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "UseObjectForClearerAPI (Java, Design)",
"tags": "",
"keywords": "UseObjectForClearerAPI",
"url": "pmd_rules_java_design.html#useobjectforclearerapi",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "UseUtilityClass (Java, Design)",
"tags": "",
"keywords": "UseUtilityClass",
"url": "pmd_rules_java_design.html#useutilityclass",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "MutableStaticState (Java, Design)",
"tags": "",
"keywords": "MutableStaticState",
"url": "pmd_rules_java_design.html#mutablestaticstate",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "Design (Java Server Pages, Design)",
"tags": "",
"keywords": "Design",
"url": "pmd_rules_jsp_design.html#design",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "NoInlineScript (Java Server Pages, Design)",
"tags": "",
"keywords": "NoInlineScript",
"url": "pmd_rules_jsp_design.html#noinlinescript",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "NoInlineStyleInformation (Java Server Pages, Design)",
"tags": "",
"keywords": "NoInlineStyleInformation",
"url": "pmd_rules_jsp_design.html#noinlinestyleinformation",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "NoLongScripts (Java Server Pages, Design)",
"tags": "",
"keywords": "NoLongScripts",
"url": "pmd_rules_jsp_design.html#nolongscripts",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "NoScriptlets (Java Server Pages, Design)",
"tags": "",
"keywords": "NoScriptlets",
"url": "pmd_rules_jsp_design.html#noscriptlets",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "Design (Velocity Template Language (VTL), Design)",
"tags": "",
"keywords": "Design",
"url": "pmd_rules_velocity_design.html#design",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "AvoidDeeplyNestedIfStmts (Velocity Template Language (VTL), Design)",
"tags": "",
"keywords": "AvoidDeeplyNestedIfStmts",
"url": "pmd_rules_velocity_design.html#avoiddeeplynestedifstmts",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "CollapsibleIfStatements (Velocity Template Language (VTL), Design)",
"tags": "",
"keywords": "CollapsibleIfStatements",
"url": "pmd_rules_velocity_design.html#collapsibleifstatements",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "ExcessiveTemplateLength (Velocity Template Language (VTL), Design)",
"tags": "",
"keywords": "ExcessiveTemplateLength",
"url": "pmd_rules_velocity_design.html#excessivetemplatelength",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "NoInlineJavaScript (Velocity Template Language (VTL), Design)",
"tags": "",
"keywords": "NoInlineJavaScript",
"url": "pmd_rules_velocity_design.html#noinlinejavascript",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "NoInlineStyles (Velocity Template Language (VTL), Design)",
"tags": "",
"keywords": "NoInlineStyles",
"url": "pmd_rules_velocity_design.html#noinlinestyles",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "Design (PLSQL, Design)",
"tags": "",
"keywords": "Design",
"url": "pmd_rules_plsql_design.html#design",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "CyclomaticComplexity (PLSQL, Design)",
"tags": "",
"keywords": "CyclomaticComplexity",
"url": "pmd_rules_plsql_design.html#cyclomaticcomplexity",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "ExcessiveMethodLength (PLSQL, Design)",
"tags": "",
"keywords": "ExcessiveMethodLength",
"url": "pmd_rules_plsql_design.html#excessivemethodlength",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "ExcessiveObjectLength (PLSQL, Design)",
"tags": "",
"keywords": "ExcessiveObjectLength",
"url": "pmd_rules_plsql_design.html#excessiveobjectlength",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "ExcessivePackageBodyLength (PLSQL, Design)",
"tags": "",
"keywords": "ExcessivePackageBodyLength",
"url": "pmd_rules_plsql_design.html#excessivepackagebodylength",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "ExcessivePackageSpecificationLength (PLSQL, Design)",
"tags": "",
"keywords": "ExcessivePackageSpecificationLength",
"url": "pmd_rules_plsql_design.html#excessivepackagespecificationlength",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "ExcessiveParameterList (PLSQL, Design)",
"tags": "",
"keywords": "ExcessiveParameterList",
"url": "pmd_rules_plsql_design.html#excessiveparameterlist",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "ExcessiveTypeLength (PLSQL, Design)",
"tags": "",
"keywords": "ExcessiveTypeLength",
"url": "pmd_rules_plsql_design.html#excessivetypelength",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "NcssMethodCount (PLSQL, Design)",
"tags": "",
"keywords": "NcssMethodCount",
"url": "pmd_rules_plsql_design.html#ncssmethodcount",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "NcssObjectCount (PLSQL, Design)",
"tags": "",
"keywords": "NcssObjectCount",
"url": "pmd_rules_plsql_design.html#ncssobjectcount",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "NPathComplexity (PLSQL, Design)",
"tags": "",
"keywords": "NPathComplexity",
"url": "pmd_rules_plsql_design.html#npathcomplexity",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "TooManyFields (PLSQL, Design)",
"tags": "",
"keywords": "TooManyFields",
"url": "pmd_rules_plsql_design.html#toomanyfields",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "TooManyMethods (PLSQL, Design)",
"tags": "",
"keywords": "TooManyMethods",
"url": "pmd_rules_plsql_design.html#toomanymethods",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "Design (Apex, Design)",
"tags": "",
"keywords": "Design",
"url": "pmd_rules_apex_design.html#design",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "AvoidDeeplyNestedIfStmts (Apex, Design)",
"tags": "",
"keywords": "AvoidDeeplyNestedIfStmts",
"url": "pmd_rules_apex_design.html#avoiddeeplynestedifstmts",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "UnusedMethod (Apex, Design)",
"tags": "",
"keywords": "UnusedMethod",
"url": "pmd_rules_apex_design.html#unusedmethod",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "CyclomaticComplexity (Apex, Design)",
"tags": "",
"keywords": "CyclomaticComplexity",
"url": "pmd_rules_apex_design.html#cyclomaticcomplexity",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "CognitiveComplexity (Apex, Design)",
"tags": "",
"keywords": "CognitiveComplexity",
"url": "pmd_rules_apex_design.html#cognitivecomplexity",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "ExcessiveClassLength (Apex, Design)",
"tags": "",
"keywords": "ExcessiveClassLength",
"url": "pmd_rules_apex_design.html#excessiveclasslength",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "ExcessiveParameterList (Apex, Design)",
"tags": "",
"keywords": "ExcessiveParameterList",
"url": "pmd_rules_apex_design.html#excessiveparameterlist",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "ExcessivePublicCount (Apex, Design)",
"tags": "",
"keywords": "ExcessivePublicCount",
"url": "pmd_rules_apex_design.html#excessivepubliccount",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "NcssConstructorCount (Apex, Design)",
"tags": "",
"keywords": "NcssConstructorCount",
"url": "pmd_rules_apex_design.html#ncssconstructorcount",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "NcssMethodCount (Apex, Design)",
"tags": "",
"keywords": "NcssMethodCount",
"url": "pmd_rules_apex_design.html#ncssmethodcount",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "NcssTypeCount (Apex, Design)",
"tags": "",
"keywords": "NcssTypeCount",
"url": "pmd_rules_apex_design.html#ncsstypecount",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "StdCyclomaticComplexity (Apex, Design)",
"tags": "",
"keywords": "StdCyclomaticComplexity",
"url": "pmd_rules_apex_design.html#stdcyclomaticcomplexity",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "TooManyFields (Apex, Design)",
"tags": "",
"keywords": "TooManyFields",
"url": "pmd_rules_apex_design.html#toomanyfields",
"summary": "Rules that help you discover design issues."
}
,
{
"title": "The rule designer",
"tags": "extendinguserdocs",
"keywords": "",
"url": "pmd_userdocs_extending_designer_reference.html",
"summary": "Learn about the usage and features of the rule designer."
}
,
{
"title": "Developer Resources",
"tags": "devdocs",
"keywords": "",
"url": "pmd_devdocs_development.html",
"summary": ""
}
,
{
"title": "Documentation (Java, Documentation)",
"tags": "",
"keywords": "Documentation",
"url": "pmd_rules_java_documentation.html#documentation",
"summary": "Rules that are related to code documentation."
}
,
{
"title": "CommentContent (Java, Documentation)",
"tags": "",
"keywords": "CommentContent",
"url": "pmd_rules_java_documentation.html#commentcontent",
"summary": "Rules that are related to code documentation."
}
,
{
"title": "CommentRequired (Java, Documentation)",
"tags": "",
"keywords": "CommentRequired",
"url": "pmd_rules_java_documentation.html#commentrequired",
"summary": "Rules that are related to code documentation."
}
,
{
"title": "CommentSize (Java, Documentation)",
"tags": "",
"keywords": "CommentSize",
"url": "pmd_rules_java_documentation.html#commentsize",
"summary": "Rules that are related to code documentation."
}
,
{
"title": "UncommentedEmptyConstructor (Java, Documentation)",
"tags": "",
"keywords": "UncommentedEmptyConstructor",
"url": "pmd_rules_java_documentation.html#uncommentedemptyconstructor",
"summary": "Rules that are related to code documentation."
}
,
{
"title": "UncommentedEmptyMethodBody (Java, Documentation)",
"tags": "",
"keywords": "UncommentedEmptyMethodBody",
"url": "pmd_rules_java_documentation.html#uncommentedemptymethodbody",
"summary": "Rules that are related to code documentation."
}
,
{
"title": "Documentation (Apex, Documentation)",
"tags": "",
"keywords": "Documentation",
"url": "pmd_rules_apex_documentation.html#documentation",
"summary": "Rules that are related to code documentation."
}
,
{
"title": "ApexDoc (Apex, Documentation)",
"tags": "",
"keywords": "ApexDoc",
"url": "pmd_rules_apex_documentation.html#apexdoc",
"summary": "Rules that are related to code documentation."
}
,
{
"title": "JavaScript Rules",
"tags": "rule_referencesecmascript",
"keywords": "",
"url": "pmd_rules_ecmascript.html",
"summary": "Index of all built-in rules available for JavaScript"
}
,
{
"title": "Error Prone (Kotlin, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_kotlin_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "OverrideBothEqualsAndHashcode (Kotlin, Error Prone)",
"tags": "",
"keywords": "OverrideBothEqualsAndHashcode",
"url": "pmd_rules_kotlin_errorprone.html#overridebothequalsandhashcode",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "Error Prone (JavaScript, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_ecmascript_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidTrailingComma (JavaScript, Error Prone)",
"tags": "",
"keywords": "AvoidTrailingComma",
"url": "pmd_rules_ecmascript_errorprone.html#avoidtrailingcomma",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "EqualComparison (JavaScript, Error Prone)",
"tags": "",
"keywords": "EqualComparison",
"url": "pmd_rules_ecmascript_errorprone.html#equalcomparison",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "InaccurateNumericLiteral (JavaScript, Error Prone)",
"tags": "",
"keywords": "InaccurateNumericLiteral",
"url": "pmd_rules_ecmascript_errorprone.html#inaccuratenumericliteral",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "InnaccurateNumericLiteral (JavaScript, Error Prone)",
"tags": "",
"keywords": "InnaccurateNumericLiteral",
"url": "pmd_rules_ecmascript_errorprone.html#innaccuratenumericliteral",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "Error Prone (Maven POM, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_pom_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "InvalidDependencyTypes (Maven POM, Error Prone)",
"tags": "",
"keywords": "InvalidDependencyTypes",
"url": "pmd_rules_pom_errorprone.html#invaliddependencytypes",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "ProjectVersionAsDependencyVersion (Maven POM, Error Prone)",
"tags": "",
"keywords": "ProjectVersionAsDependencyVersion",
"url": "pmd_rules_pom_errorprone.html#projectversionasdependencyversion",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "Error Prone (Java, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_java_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AssignmentInOperand (Java, Error Prone)",
"tags": "",
"keywords": "AssignmentInOperand",
"url": "pmd_rules_java_errorprone.html#assignmentinoperand",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AssignmentToNonFinalStatic (Java, Error Prone)",
"tags": "",
"keywords": "AssignmentToNonFinalStatic",
"url": "pmd_rules_java_errorprone.html#assignmenttononfinalstatic",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidAccessibilityAlteration (Java, Error Prone)",
"tags": "",
"keywords": "AvoidAccessibilityAlteration",
"url": "pmd_rules_java_errorprone.html#avoidaccessibilityalteration",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidAssertAsIdentifier (Java, Error Prone)",
"tags": "",
"keywords": "AvoidAssertAsIdentifier",
"url": "pmd_rules_java_errorprone.html#avoidassertasidentifier",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidBranchingStatementAsLastInLoop (Java, Error Prone)",
"tags": "",
"keywords": "AvoidBranchingStatementAsLastInLoop",
"url": "pmd_rules_java_errorprone.html#avoidbranchingstatementaslastinloop",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidCallingFinalize (Java, Error Prone)",
"tags": "",
"keywords": "AvoidCallingFinalize",
"url": "pmd_rules_java_errorprone.html#avoidcallingfinalize",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidCatchingNPE (Java, Error Prone)",
"tags": "",
"keywords": "AvoidCatchingNPE",
"url": "pmd_rules_java_errorprone.html#avoidcatchingnpe",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidCatchingThrowable (Java, Error Prone)",
"tags": "",
"keywords": "AvoidCatchingThrowable",
"url": "pmd_rules_java_errorprone.html#avoidcatchingthrowable",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidDecimalLiteralsInBigDecimalConstructor (Java, Error Prone)",
"tags": "",
"keywords": "AvoidDecimalLiteralsInBigDecimalConstructor",
"url": "pmd_rules_java_errorprone.html#avoiddecimalliteralsinbigdecimalconstructor",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidDuplicateLiterals (Java, Error Prone)",
"tags": "",
"keywords": "AvoidDuplicateLiterals",
"url": "pmd_rules_java_errorprone.html#avoidduplicateliterals",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidEnumAsIdentifier (Java, Error Prone)",
"tags": "",
"keywords": "AvoidEnumAsIdentifier",
"url": "pmd_rules_java_errorprone.html#avoidenumasidentifier",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidFieldNameMatchingMethodName (Java, Error Prone)",
"tags": "",
"keywords": "AvoidFieldNameMatchingMethodName",
"url": "pmd_rules_java_errorprone.html#avoidfieldnamematchingmethodname",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidFieldNameMatchingTypeName (Java, Error Prone)",
"tags": "",
"keywords": "AvoidFieldNameMatchingTypeName",
"url": "pmd_rules_java_errorprone.html#avoidfieldnamematchingtypename",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidInstanceofChecksInCatchClause (Java, Error Prone)",
"tags": "",
"keywords": "AvoidInstanceofChecksInCatchClause",
"url": "pmd_rules_java_errorprone.html#avoidinstanceofchecksincatchclause",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidLiteralsInIfCondition (Java, Error Prone)",
"tags": "",
"keywords": "AvoidLiteralsInIfCondition",
"url": "pmd_rules_java_errorprone.html#avoidliteralsinifcondition",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidLosingExceptionInformation (Java, Error Prone)",
"tags": "",
"keywords": "AvoidLosingExceptionInformation",
"url": "pmd_rules_java_errorprone.html#avoidlosingexceptioninformation",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidMultipleUnaryOperators (Java, Error Prone)",
"tags": "",
"keywords": "AvoidMultipleUnaryOperators",
"url": "pmd_rules_java_errorprone.html#avoidmultipleunaryoperators",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidUsingOctalValues (Java, Error Prone)",
"tags": "",
"keywords": "AvoidUsingOctalValues",
"url": "pmd_rules_java_errorprone.html#avoidusingoctalvalues",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "BrokenNullCheck (Java, Error Prone)",
"tags": "",
"keywords": "BrokenNullCheck",
"url": "pmd_rules_java_errorprone.html#brokennullcheck",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "CallSuperFirst (Java, Error Prone)",
"tags": "",
"keywords": "CallSuperFirst",
"url": "pmd_rules_java_errorprone.html#callsuperfirst",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "CallSuperLast (Java, Error Prone)",
"tags": "",
"keywords": "CallSuperLast",
"url": "pmd_rules_java_errorprone.html#callsuperlast",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "CheckSkipResult (Java, Error Prone)",
"tags": "",
"keywords": "CheckSkipResult",
"url": "pmd_rules_java_errorprone.html#checkskipresult",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "ClassCastExceptionWithToArray (Java, Error Prone)",
"tags": "",
"keywords": "ClassCastExceptionWithToArray",
"url": "pmd_rules_java_errorprone.html#classcastexceptionwithtoarray",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "CloneMethodMustBePublic (Java, Error Prone)",
"tags": "",
"keywords": "CloneMethodMustBePublic",
"url": "pmd_rules_java_errorprone.html#clonemethodmustbepublic",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "CloneMethodMustImplementCloneable (Java, Error Prone)",
"tags": "",
"keywords": "CloneMethodMustImplementCloneable",
"url": "pmd_rules_java_errorprone.html#clonemethodmustimplementcloneable",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "CloneMethodReturnTypeMustMatchClassName (Java, Error Prone)",
"tags": "",
"keywords": "CloneMethodReturnTypeMustMatchClassName",
"url": "pmd_rules_java_errorprone.html#clonemethodreturntypemustmatchclassname",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "CloseResource (Java, Error Prone)",
"tags": "",
"keywords": "CloseResource",
"url": "pmd_rules_java_errorprone.html#closeresource",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "CompareObjectsWithEquals (Java, Error Prone)",
"tags": "",
"keywords": "CompareObjectsWithEquals",
"url": "pmd_rules_java_errorprone.html#compareobjectswithequals",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "ComparisonWithNaN (Java, Error Prone)",
"tags": "",
"keywords": "ComparisonWithNaN",
"url": "pmd_rules_java_errorprone.html#comparisonwithnan",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "ConfusingArgumentToVarargsMethod (Java, Error Prone)",
"tags": "",
"keywords": "ConfusingArgumentToVarargsMethod",
"url": "pmd_rules_java_errorprone.html#confusingargumenttovarargsmethod",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "ConstructorCallsOverridableMethod (Java, Error Prone)",
"tags": "",
"keywords": "ConstructorCallsOverridableMethod",
"url": "pmd_rules_java_errorprone.html#constructorcallsoverridablemethod",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "DetachedTestCase (Java, Error Prone)",
"tags": "",
"keywords": "DetachedTestCase",
"url": "pmd_rules_java_errorprone.html#detachedtestcase",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "DoNotCallGarbageCollectionExplicitly (Java, Error Prone)",
"tags": "",
"keywords": "DoNotCallGarbageCollectionExplicitly",
"url": "pmd_rules_java_errorprone.html#donotcallgarbagecollectionexplicitly",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "DoNotExtendJavaLangThrowable (Java, Error Prone)",
"tags": "",
"keywords": "DoNotExtendJavaLangThrowable",
"url": "pmd_rules_java_errorprone.html#donotextendjavalangthrowable",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "DoNotHardCodeSDCard (Java, Error Prone)",
"tags": "",
"keywords": "DoNotHardCodeSDCard",
"url": "pmd_rules_java_errorprone.html#donothardcodesdcard",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "DoNotTerminateVM (Java, Error Prone)",
"tags": "",
"keywords": "DoNotTerminateVM",
"url": "pmd_rules_java_errorprone.html#donotterminatevm",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "DoNotThrowExceptionInFinally (Java, Error Prone)",
"tags": "",
"keywords": "DoNotThrowExceptionInFinally",
"url": "pmd_rules_java_errorprone.html#donotthrowexceptioninfinally",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "DontImportSun (Java, Error Prone)",
"tags": "",
"keywords": "DontImportSun",
"url": "pmd_rules_java_errorprone.html#dontimportsun",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "DontUseFloatTypeForLoopIndices (Java, Error Prone)",
"tags": "",
"keywords": "DontUseFloatTypeForLoopIndices",
"url": "pmd_rules_java_errorprone.html#dontusefloattypeforloopindices",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "EmptyCatchBlock (Java, Error Prone)",
"tags": "",
"keywords": "EmptyCatchBlock",
"url": "pmd_rules_java_errorprone.html#emptycatchblock",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "EmptyFinalizer (Java, Error Prone)",
"tags": "",
"keywords": "EmptyFinalizer",
"url": "pmd_rules_java_errorprone.html#emptyfinalizer",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "EqualsNull (Java, Error Prone)",
"tags": "",
"keywords": "EqualsNull",
"url": "pmd_rules_java_errorprone.html#equalsnull",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "FinalizeDoesNotCallSuperFinalize (Java, Error Prone)",
"tags": "",
"keywords": "FinalizeDoesNotCallSuperFinalize",
"url": "pmd_rules_java_errorprone.html#finalizedoesnotcallsuperfinalize",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "FinalizeOnlyCallsSuperFinalize (Java, Error Prone)",
"tags": "",
"keywords": "FinalizeOnlyCallsSuperFinalize",
"url": "pmd_rules_java_errorprone.html#finalizeonlycallssuperfinalize",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "FinalizeOverloaded (Java, Error Prone)",
"tags": "",
"keywords": "FinalizeOverloaded",
"url": "pmd_rules_java_errorprone.html#finalizeoverloaded",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "FinalizeShouldBeProtected (Java, Error Prone)",
"tags": "",
"keywords": "FinalizeShouldBeProtected",
"url": "pmd_rules_java_errorprone.html#finalizeshouldbeprotected",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "IdempotentOperations (Java, Error Prone)",
"tags": "",
"keywords": "IdempotentOperations",
"url": "pmd_rules_java_errorprone.html#idempotentoperations",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "ImplicitSwitchFallThrough (Java, Error Prone)",
"tags": "",
"keywords": "ImplicitSwitchFallThrough",
"url": "pmd_rules_java_errorprone.html#implicitswitchfallthrough",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "InstantiationToGetClass (Java, Error Prone)",
"tags": "",
"keywords": "InstantiationToGetClass",
"url": "pmd_rules_java_errorprone.html#instantiationtogetclass",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "InvalidLogMessageFormat (Java, Error Prone)",
"tags": "",
"keywords": "InvalidLogMessageFormat",
"url": "pmd_rules_java_errorprone.html#invalidlogmessageformat",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "JumbledIncrementer (Java, Error Prone)",
"tags": "",
"keywords": "JumbledIncrementer",
"url": "pmd_rules_java_errorprone.html#jumbledincrementer",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "JUnitSpelling (Java, Error Prone)",
"tags": "",
"keywords": "JUnitSpelling",
"url": "pmd_rules_java_errorprone.html#junitspelling",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "JUnitStaticSuite (Java, Error Prone)",
"tags": "",
"keywords": "JUnitStaticSuite",
"url": "pmd_rules_java_errorprone.html#junitstaticsuite",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "MethodWithSameNameAsEnclosingClass (Java, Error Prone)",
"tags": "",
"keywords": "MethodWithSameNameAsEnclosingClass",
"url": "pmd_rules_java_errorprone.html#methodwithsamenameasenclosingclass",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "MisplacedNullCheck (Java, Error Prone)",
"tags": "",
"keywords": "MisplacedNullCheck",
"url": "pmd_rules_java_errorprone.html#misplacednullcheck",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "MissingSerialVersionUID (Java, Error Prone)",
"tags": "",
"keywords": "MissingSerialVersionUID",
"url": "pmd_rules_java_errorprone.html#missingserialversionuid",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "MissingStaticMethodInNonInstantiatableClass (Java, Error Prone)",
"tags": "",
"keywords": "MissingStaticMethodInNonInstantiatableClass",
"url": "pmd_rules_java_errorprone.html#missingstaticmethodinnoninstantiatableclass",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "MoreThanOneLogger (Java, Error Prone)",
"tags": "",
"keywords": "MoreThanOneLogger",
"url": "pmd_rules_java_errorprone.html#morethanonelogger",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "NonCaseLabelInSwitchStatement (Java, Error Prone)",
"tags": "",
"keywords": "NonCaseLabelInSwitchStatement",
"url": "pmd_rules_java_errorprone.html#noncaselabelinswitchstatement",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "NonCaseLabelInSwitch (Java, Error Prone)",
"tags": "",
"keywords": "NonCaseLabelInSwitch",
"url": "pmd_rules_java_errorprone.html#noncaselabelinswitch",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "NonSerializableClass (Java, Error Prone)",
"tags": "",
"keywords": "NonSerializableClass",
"url": "pmd_rules_java_errorprone.html#nonserializableclass",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "NonStaticInitializer (Java, Error Prone)",
"tags": "",
"keywords": "NonStaticInitializer",
"url": "pmd_rules_java_errorprone.html#nonstaticinitializer",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "NullAssignment (Java, Error Prone)",
"tags": "",
"keywords": "NullAssignment",
"url": "pmd_rules_java_errorprone.html#nullassignment",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "OverrideBothEqualsAndHashcode (Java, Error Prone)",
"tags": "",
"keywords": "OverrideBothEqualsAndHashcode",
"url": "pmd_rules_java_errorprone.html#overridebothequalsandhashcode",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "ProperCloneImplementation (Java, Error Prone)",
"tags": "",
"keywords": "ProperCloneImplementation",
"url": "pmd_rules_java_errorprone.html#propercloneimplementation",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "ProperLogger (Java, Error Prone)",
"tags": "",
"keywords": "ProperLogger",
"url": "pmd_rules_java_errorprone.html#properlogger",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "ReturnEmptyCollectionRatherThanNull (Java, Error Prone)",
"tags": "",
"keywords": "ReturnEmptyCollectionRatherThanNull",
"url": "pmd_rules_java_errorprone.html#returnemptycollectionratherthannull",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "ReturnFromFinallyBlock (Java, Error Prone)",
"tags": "",
"keywords": "ReturnFromFinallyBlock",
"url": "pmd_rules_java_errorprone.html#returnfromfinallyblock",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "SimpleDateFormatNeedsLocale (Java, Error Prone)",
"tags": "",
"keywords": "SimpleDateFormatNeedsLocale",
"url": "pmd_rules_java_errorprone.html#simpledateformatneedslocale",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "SingleMethodSingleton (Java, Error Prone)",
"tags": "",
"keywords": "SingleMethodSingleton",
"url": "pmd_rules_java_errorprone.html#singlemethodsingleton",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "SingletonClassReturningNewInstance (Java, Error Prone)",
"tags": "",
"keywords": "SingletonClassReturningNewInstance",
"url": "pmd_rules_java_errorprone.html#singletonclassreturningnewinstance",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "StaticEJBFieldShouldBeFinal (Java, Error Prone)",
"tags": "",
"keywords": "StaticEJBFieldShouldBeFinal",
"url": "pmd_rules_java_errorprone.html#staticejbfieldshouldbefinal",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "StringBufferInstantiationWithChar (Java, Error Prone)",
"tags": "",
"keywords": "StringBufferInstantiationWithChar",
"url": "pmd_rules_java_errorprone.html#stringbufferinstantiationwithchar",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "SuspiciousEqualsMethodName (Java, Error Prone)",
"tags": "",
"keywords": "SuspiciousEqualsMethodName",
"url": "pmd_rules_java_errorprone.html#suspiciousequalsmethodname",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "SuspiciousHashcodeMethodName (Java, Error Prone)",
"tags": "",
"keywords": "SuspiciousHashcodeMethodName",
"url": "pmd_rules_java_errorprone.html#suspicioushashcodemethodname",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "SuspiciousOctalEscape (Java, Error Prone)",
"tags": "",
"keywords": "SuspiciousOctalEscape",
"url": "pmd_rules_java_errorprone.html#suspiciousoctalescape",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "TestClassWithoutTestCases (Java, Error Prone)",
"tags": "",
"keywords": "TestClassWithoutTestCases",
"url": "pmd_rules_java_errorprone.html#testclasswithouttestcases",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "UnconditionalIfStatement (Java, Error Prone)",
"tags": "",
"keywords": "UnconditionalIfStatement",
"url": "pmd_rules_java_errorprone.html#unconditionalifstatement",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "UnnecessaryBooleanAssertion (Java, Error Prone)",
"tags": "",
"keywords": "UnnecessaryBooleanAssertion",
"url": "pmd_rules_java_errorprone.html#unnecessarybooleanassertion",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "UnnecessaryCaseChange (Java, Error Prone)",
"tags": "",
"keywords": "UnnecessaryCaseChange",
"url": "pmd_rules_java_errorprone.html#unnecessarycasechange",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "UnnecessaryConversionTemporary (Java, Error Prone)",
"tags": "",
"keywords": "UnnecessaryConversionTemporary",
"url": "pmd_rules_java_errorprone.html#unnecessaryconversiontemporary",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "UnusedNullCheckInEquals (Java, Error Prone)",
"tags": "",
"keywords": "UnusedNullCheckInEquals",
"url": "pmd_rules_java_errorprone.html#unusednullcheckinequals",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "UseCorrectExceptionLogging (Java, Error Prone)",
"tags": "",
"keywords": "UseCorrectExceptionLogging",
"url": "pmd_rules_java_errorprone.html#usecorrectexceptionlogging",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "UseEqualsToCompareStrings (Java, Error Prone)",
"tags": "",
"keywords": "UseEqualsToCompareStrings",
"url": "pmd_rules_java_errorprone.html#useequalstocomparestrings",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "UselessOperationOnImmutable (Java, Error Prone)",
"tags": "",
"keywords": "UselessOperationOnImmutable",
"url": "pmd_rules_java_errorprone.html#uselessoperationonimmutable",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "UseLocaleWithCaseConversions (Java, Error Prone)",
"tags": "",
"keywords": "UseLocaleWithCaseConversions",
"url": "pmd_rules_java_errorprone.html#uselocalewithcaseconversions",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "UseProperClassLoader (Java, Error Prone)",
"tags": "",
"keywords": "UseProperClassLoader",
"url": "pmd_rules_java_errorprone.html#useproperclassloader",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "Error Prone (Java Server Pages, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_jsp_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "JspEncoding (Java Server Pages, Error Prone)",
"tags": "",
"keywords": "JspEncoding",
"url": "pmd_rules_jsp_errorprone.html#jspencoding",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "Error Prone (Velocity Template Language (VTL), Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_velocity_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "EmptyForeachStmt (Velocity Template Language (VTL), Error Prone)",
"tags": "",
"keywords": "EmptyForeachStmt",
"url": "pmd_rules_velocity_errorprone.html#emptyforeachstmt",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "EmptyIfStmt (Velocity Template Language (VTL), Error Prone)",
"tags": "",
"keywords": "EmptyIfStmt",
"url": "pmd_rules_velocity_errorprone.html#emptyifstmt",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "Error Prone (PLSQL, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_plsql_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "TO_DATE_TO_CHAR (PLSQL, Error Prone)",
"tags": "",
"keywords": "TO_DATE_TO_CHAR",
"url": "pmd_rules_plsql_errorprone.html#to_date_to_char",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "TO_DATEWithoutDateFormat (PLSQL, Error Prone)",
"tags": "",
"keywords": "TO_DATEWithoutDateFormat",
"url": "pmd_rules_plsql_errorprone.html#to_datewithoutdateformat",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "TO_TIMESTAMPWithoutDateFormat (PLSQL, Error Prone)",
"tags": "",
"keywords": "TO_TIMESTAMPWithoutDateFormat",
"url": "pmd_rules_plsql_errorprone.html#to_timestampwithoutdateformat",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "Error Prone (XML, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_xml_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "MistypedCDATASection (XML, Error Prone)",
"tags": "",
"keywords": "MistypedCDATASection",
"url": "pmd_rules_xml_errorprone.html#mistypedcdatasection",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "Error Prone (Apex, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_apex_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "ApexCSRF (Apex, Error Prone)",
"tags": "",
"keywords": "ApexCSRF",
"url": "pmd_rules_apex_errorprone.html#apexcsrf",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidDirectAccessTriggerMap (Apex, Error Prone)",
"tags": "",
"keywords": "AvoidDirectAccessTriggerMap",
"url": "pmd_rules_apex_errorprone.html#avoiddirectaccesstriggermap",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidHardcodingId (Apex, Error Prone)",
"tags": "",
"keywords": "AvoidHardcodingId",
"url": "pmd_rules_apex_errorprone.html#avoidhardcodingid",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "AvoidNonExistentAnnotations (Apex, Error Prone)",
"tags": "",
"keywords": "AvoidNonExistentAnnotations",
"url": "pmd_rules_apex_errorprone.html#avoidnonexistentannotations",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "EmptyCatchBlock (Apex, Error Prone)",
"tags": "",
"keywords": "EmptyCatchBlock",
"url": "pmd_rules_apex_errorprone.html#emptycatchblock",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "EmptyIfStmt (Apex, Error Prone)",
"tags": "",
"keywords": "EmptyIfStmt",
"url": "pmd_rules_apex_errorprone.html#emptyifstmt",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "EmptyStatementBlock (Apex, Error Prone)",
"tags": "",
"keywords": "EmptyStatementBlock",
"url": "pmd_rules_apex_errorprone.html#emptystatementblock",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "EmptyTryOrFinallyBlock (Apex, Error Prone)",
"tags": "",
"keywords": "EmptyTryOrFinallyBlock",
"url": "pmd_rules_apex_errorprone.html#emptytryorfinallyblock",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "EmptyWhileStmt (Apex, Error Prone)",
"tags": "",
"keywords": "EmptyWhileStmt",
"url": "pmd_rules_apex_errorprone.html#emptywhilestmt",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "InaccessibleAuraEnabledGetter (Apex, Error Prone)",
"tags": "",
"keywords": "InaccessibleAuraEnabledGetter",
"url": "pmd_rules_apex_errorprone.html#inaccessibleauraenabledgetter",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "MethodWithSameNameAsEnclosingClass (Apex, Error Prone)",
"tags": "",
"keywords": "MethodWithSameNameAsEnclosingClass",
"url": "pmd_rules_apex_errorprone.html#methodwithsamenameasenclosingclass",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "OverrideBothEqualsAndHashcode (Apex, Error Prone)",
"tags": "",
"keywords": "OverrideBothEqualsAndHashcode",
"url": "pmd_rules_apex_errorprone.html#overridebothequalsandhashcode",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "TestMethodsMustBeInTestClasses (Apex, Error Prone)",
"tags": "",
"keywords": "TestMethodsMustBeInTestClasses",
"url": "pmd_rules_apex_errorprone.html#testmethodsmustbeintestclasses",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "Error Prone (Swift, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_swift_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "ForceCast (Swift, Error Prone)",
"tags": "",
"keywords": "ForceCast",
"url": "pmd_rules_swift_errorprone.html#forcecast",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "ForceTry (Swift, Error Prone)",
"tags": "",
"keywords": "ForceTry",
"url": "pmd_rules_swift_errorprone.html#forcetry",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,
{
"title": "FAQ",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_faq.html",
"summary": ""
}
,
{
"title": "Fortran support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_fortran.html",
"summary": "Fortran features and guidance"
}
,
{
"title": "Gherkin support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_gherkin.html",
"summary": "Gherkin features and guidance"
}
,
{
"title": "Go support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_go.html",
"summary": "Go features and guidance"
}
,
{
"title": "Gradle",
"tags": "userdocstools",
"keywords": "",
"url": "pmd_userdocs_tools_gradle.html",
"summary": ""
}
,
{
"title": "Groovy support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_groovy.html",
"summary": "Groovy-specific features and guidance"
}
,
{
"title": "Getting Help",
"tags": "",
"keywords": "",
"url": "pmd_about_help.html",
"summary": ""
}
,
{
"title": "How PMD Works",
"tags": "devdocs",
"keywords": "",
"url": "pmd_devdocs_how_pmd_works.html",
"summary": "Processing overview of the different steps taken by PMD."
}
,
{
"title": "HTML Rules",
"tags": "rule_referenceshtml",
"keywords": "",
"url": "pmd_rules_html.html",
"summary": "Index of all built-in rules available for HTML"
}
,
{
"title": "HTML support",
"tags": "languagesPmdCapableLanguageCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_html.html",
"summary": "HTML-specific features and guidance"
}
,
{
"title": "Incremental Analysis",
"tags": "userdocs",
"keywords": "pmdoptionscommandincrementalanalysisperformance",
"url": "pmd_userdocs_incremental_analysis.html",
"summary": "Explains how to use incremental analysis to speed up analysis"
}
,
{
"title": "Overview",
"tags": "languages",
"keywords": "",
"url": "pmd_languages_index.html",
"summary": ""
}
,
{
"title": "Documentation Index",
"tags": "",
"keywords": "java",
"url": "index.html",
"summary": "Welcome to the documentation site for PMD and CPD!
"
}
,
{
"title": "Infrastructure",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_committers_infrastructure.html",
"summary": ""
}
,
{
"title": "Installation and basic CLI usage",
"tags": "getting_starteduserdocs",
"keywords": "pmdcpdoptionscommandauxclasspath",
"url": "pmd_userdocs_installation.html",
"summary": "Sums up the first steps to set up a CLI installation and get started using PMD"
}
,
{
"title": "PMD Java API",
"tags": "userdocstools",
"keywords": "",
"url": "pmd_userdocs_tools_java_api.html",
"summary": ""
}
,
{
"title": "Java Rules",
"tags": "rule_referencesjava",
"keywords": "",
"url": "pmd_rules_java.html",
"summary": "Index of all built-in rules available for Java"
}
,
{
"title": "Java support",
"tags": "languagesPmdCapableLanguageCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_java.html",
"summary": "Java-specific features and guidance"
}
,
{
"title": "JavaScript and TypeScript support",
"tags": "languagesPmdCapableLanguageCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_js_ts.html",
"summary": "JavaScript- and TypeScript-specific features and guidance"
}
,
{
"title": "Java Server Pages Rules",
"tags": "rule_referencesjsp",
"keywords": "",
"url": "pmd_rules_jsp.html",
"summary": "Index of all built-in rules available for Java Server Pages"
}
,
{
"title": "JSP Support",
"tags": "languagesPmdCapableLanguageCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_jsp.html",
"summary": "JSP-specific features and guidance"
}
,
{
"title": "Julia support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_julia.html",
"summary": "Julia-specific features and guidance"
}
,
{
"title": "Kotlin Rules",
"tags": "rule_referenceskotlin",
"keywords": "",
"url": "pmd_rules_kotlin.html",
"summary": "Index of all built-in rules available for Kotlin"
}
,
{
"title": "Kotlin Support",
"tags": "languagesPmdCapableLanguageCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_kotlin.html",
"summary": "Kotlin-specific features and guidance"
}
,
{
"title": "Language configuration",
"tags": "languages",
"keywords": "pmdcpdoptionscommandauxclasspathlanguageproperties",
"url": "pmd_languages_configuration.html",
"summary": "Summary of language configuration options and properties"
}
,
{
"title": "License",
"tags": "",
"keywords": "",
"url": "license.html",
"summary": ""
}
,
{
"title": "Logging",
"tags": "devdocs",
"keywords": "",
"url": "pmd_devdocs_logging.html",
"summary": ""
}
,
{
"title": "Logo",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_logo.html",
"summary": ""
}
,
{
"title": "Lua support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_lua.html",
"summary": "Lua-specifc features and guidance"
}
,
{
"title": "Main Landing Page",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_committers_main_landing_page.html",
"summary": ""
}
,
{
"title": "Making rulesets",
"tags": "getting_starteduserdocs",
"keywords": "rulesetsreferenceruleexcludeincludepatternfilter",
"url": "pmd_userdocs_making_rulesets.html",
"summary": "A ruleset is an XML configuration file, which describes a collection of rules to be executed in a PMD run. PMD includes built-in rulesets to run quick analyses with a default configuration, but users are encouraged to make their own rulesets from the start, because they allow for so much configurability. This page walk you through the creation of a ruleset and the multiple configuration features offered by rulesets."
}
,
{
"title": "Matlab support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_matlab.html",
"summary": "Matlab-specific features and guidance"
}
,
{
"title": "Maven PMD Plugin",
"tags": "userdocstools",
"keywords": "",
"url": "pmd_userdocs_tools_maven.html",
"summary": ""
}
,
{
"title": "What does 'PMD' mean?",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_trivia_meaning.html",
"summary": ""
}
,
{
"title": "Merging pull requests",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_committers_merging_pull_requests.html",
"summary": ""
}
,
{
"title": "Migration Guide for PMD 7",
"tags": "pmduserdocs",
"keywords": "",
"url": "pmd_userdocs_migrating_to_pmd7.html",
"summary": "Migrating to PMD 7 from PMD 6.x"
}
,
{
"title": "Modelica Rules",
"tags": "rule_referencesmodelica",
"keywords": "",
"url": "pmd_rules_modelica.html",
"summary": "Index of all built-in rules available for Modelica"
}
,
{
"title": "Modelica support",
"tags": "languagesPmdCapableLanguageCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_modelica.html",
"summary": "Modelica-specific features and guidance"
}
,
{
"title": "Multithreading (Java, Multithreading)",
"tags": "",
"keywords": "Multithreading",
"url": "pmd_rules_java_multithreading.html#multithreading",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,
{
"title": "AvoidSynchronizedAtMethodLevel (Java, Multithreading)",
"tags": "",
"keywords": "AvoidSynchronizedAtMethodLevel",
"url": "pmd_rules_java_multithreading.html#avoidsynchronizedatmethodlevel",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,
{
"title": "AvoidSynchronizedStatement (Java, Multithreading)",
"tags": "",
"keywords": "AvoidSynchronizedStatement",
"url": "pmd_rules_java_multithreading.html#avoidsynchronizedstatement",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,
{
"title": "AvoidThreadGroup (Java, Multithreading)",
"tags": "",
"keywords": "AvoidThreadGroup",
"url": "pmd_rules_java_multithreading.html#avoidthreadgroup",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,
{
"title": "AvoidUsingVolatile (Java, Multithreading)",
"tags": "",
"keywords": "AvoidUsingVolatile",
"url": "pmd_rules_java_multithreading.html#avoidusingvolatile",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,
{
"title": "DoNotUseThreads (Java, Multithreading)",
"tags": "",
"keywords": "DoNotUseThreads",
"url": "pmd_rules_java_multithreading.html#donotusethreads",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,
{
"title": "DontCallThreadRun (Java, Multithreading)",
"tags": "",
"keywords": "DontCallThreadRun",
"url": "pmd_rules_java_multithreading.html#dontcallthreadrun",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,
{
"title": "DoubleCheckedLocking (Java, Multithreading)",
"tags": "",
"keywords": "DoubleCheckedLocking",
"url": "pmd_rules_java_multithreading.html#doublecheckedlocking",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,
{
"title": "NonThreadSafeSingleton (Java, Multithreading)",
"tags": "",
"keywords": "NonThreadSafeSingleton",
"url": "pmd_rules_java_multithreading.html#nonthreadsafesingleton",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,
{
"title": "UnsynchronizedStaticFormatter (Java, Multithreading)",
"tags": "",
"keywords": "UnsynchronizedStaticFormatter",
"url": "pmd_rules_java_multithreading.html#unsynchronizedstaticformatter",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,
{
"title": "UseConcurrentHashMap (Java, Multithreading)",
"tags": "",
"keywords": "UseConcurrentHashMap",
"url": "pmd_rules_java_multithreading.html#useconcurrenthashmap",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,
{
"title": "UseNotifyAllInsteadOfNotify (Java, Multithreading)",
"tags": "",
"keywords": "UseNotifyAllInsteadOfNotify",
"url": "pmd_rules_java_multithreading.html#usenotifyallinsteadofnotify",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,
{
"title": "News",
"tags": "",
"keywords": "news, blog, updates, release notes, announcements",
"url": "news.html",
"summary": ""
}
,
{
"title": "PMD in the press",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_trivia_news.html",
"summary": ""
}
,
{
"title": "News",
"tags": "",
"keywords": "news, blog, updates, release notes, announcements",
"url": "news_archive.html",
"summary": ""
}
,
{
"title": "Objective-C support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_objectivec.html",
"summary": "Objective-C-specific features and guidance"
}
,
{
"title": "Performance (JavaScript, Performance)",
"tags": "",
"keywords": "Performance",
"url": "pmd_rules_ecmascript_performance.html#performance",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "AvoidConsoleStatements (JavaScript, Performance)",
"tags": "",
"keywords": "AvoidConsoleStatements",
"url": "pmd_rules_ecmascript_performance.html#avoidconsolestatements",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "Performance (XSL, Performance)",
"tags": "",
"keywords": "Performance",
"url": "pmd_rules_xsl_performance.html#performance",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "AvoidAxisNavigation (XSL, Performance)",
"tags": "",
"keywords": "AvoidAxisNavigation",
"url": "pmd_rules_xsl_performance.html#avoidaxisnavigation",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "Performance (Java, Performance)",
"tags": "",
"keywords": "Performance",
"url": "pmd_rules_java_performance.html#performance",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "AddEmptyString (Java, Performance)",
"tags": "",
"keywords": "AddEmptyString",
"url": "pmd_rules_java_performance.html#addemptystring",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "AppendCharacterWithChar (Java, Performance)",
"tags": "",
"keywords": "AppendCharacterWithChar",
"url": "pmd_rules_java_performance.html#appendcharacterwithchar",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "AvoidArrayLoops (Java, Performance)",
"tags": "",
"keywords": "AvoidArrayLoops",
"url": "pmd_rules_java_performance.html#avoidarrayloops",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "AvoidCalendarDateCreation (Java, Performance)",
"tags": "",
"keywords": "AvoidCalendarDateCreation",
"url": "pmd_rules_java_performance.html#avoidcalendardatecreation",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "AvoidFileStream (Java, Performance)",
"tags": "",
"keywords": "AvoidFileStream",
"url": "pmd_rules_java_performance.html#avoidfilestream",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "AvoidInstantiatingObjectsInLoops (Java, Performance)",
"tags": "",
"keywords": "AvoidInstantiatingObjectsInLoops",
"url": "pmd_rules_java_performance.html#avoidinstantiatingobjectsinloops",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "BigIntegerInstantiation (Java, Performance)",
"tags": "",
"keywords": "BigIntegerInstantiation",
"url": "pmd_rules_java_performance.html#bigintegerinstantiation",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "ConsecutiveAppendsShouldReuse (Java, Performance)",
"tags": "",
"keywords": "ConsecutiveAppendsShouldReuse",
"url": "pmd_rules_java_performance.html#consecutiveappendsshouldreuse",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "ConsecutiveLiteralAppends (Java, Performance)",
"tags": "",
"keywords": "ConsecutiveLiteralAppends",
"url": "pmd_rules_java_performance.html#consecutiveliteralappends",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "InefficientEmptyStringCheck (Java, Performance)",
"tags": "",
"keywords": "InefficientEmptyStringCheck",
"url": "pmd_rules_java_performance.html#inefficientemptystringcheck",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "InefficientStringBuffering (Java, Performance)",
"tags": "",
"keywords": "InefficientStringBuffering",
"url": "pmd_rules_java_performance.html#inefficientstringbuffering",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "InsufficientStringBufferDeclaration (Java, Performance)",
"tags": "",
"keywords": "InsufficientStringBufferDeclaration",
"url": "pmd_rules_java_performance.html#insufficientstringbufferdeclaration",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "OptimizableToArrayCall (Java, Performance)",
"tags": "",
"keywords": "OptimizableToArrayCall",
"url": "pmd_rules_java_performance.html#optimizabletoarraycall",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "RedundantFieldInitializer (Java, Performance)",
"tags": "",
"keywords": "RedundantFieldInitializer",
"url": "pmd_rules_java_performance.html#redundantfieldinitializer",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "StringInstantiation (Java, Performance)",
"tags": "",
"keywords": "StringInstantiation",
"url": "pmd_rules_java_performance.html#stringinstantiation",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "StringToString (Java, Performance)",
"tags": "",
"keywords": "StringToString",
"url": "pmd_rules_java_performance.html#stringtostring",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "TooFewBranchesForASwitchStatement (Java, Performance)",
"tags": "",
"keywords": "TooFewBranchesForASwitchStatement",
"url": "pmd_rules_java_performance.html#toofewbranchesforaswitchstatement",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "TooFewBranchesForSwitch (Java, Performance)",
"tags": "",
"keywords": "TooFewBranchesForSwitch",
"url": "pmd_rules_java_performance.html#toofewbranchesforswitch",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "UseArrayListInsteadOfVector (Java, Performance)",
"tags": "",
"keywords": "UseArrayListInsteadOfVector",
"url": "pmd_rules_java_performance.html#usearraylistinsteadofvector",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "UseArraysAsList (Java, Performance)",
"tags": "",
"keywords": "UseArraysAsList",
"url": "pmd_rules_java_performance.html#usearraysaslist",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "UseIndexOfChar (Java, Performance)",
"tags": "",
"keywords": "UseIndexOfChar",
"url": "pmd_rules_java_performance.html#useindexofchar",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "UseIOStreamsWithApacheCommonsFileItem (Java, Performance)",
"tags": "",
"keywords": "UseIOStreamsWithApacheCommonsFileItem",
"url": "pmd_rules_java_performance.html#useiostreamswithapachecommonsfileitem",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "UselessStringValueOf (Java, Performance)",
"tags": "",
"keywords": "UselessStringValueOf",
"url": "pmd_rules_java_performance.html#uselessstringvalueof",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "UseStringBufferForStringAppends (Java, Performance)",
"tags": "",
"keywords": "UseStringBufferForStringAppends",
"url": "pmd_rules_java_performance.html#usestringbufferforstringappends",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "UseStringBufferLength (Java, Performance)",
"tags": "",
"keywords": "UseStringBufferLength",
"url": "pmd_rules_java_performance.html#usestringbufferlength",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "Performance (Apex, Performance)",
"tags": "",
"keywords": "Performance",
"url": "pmd_rules_apex_performance.html#performance",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "AvoidDebugStatements (Apex, Performance)",
"tags": "",
"keywords": "AvoidDebugStatements",
"url": "pmd_rules_apex_performance.html#avoiddebugstatements",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "AvoidNonRestrictiveQueries (Apex, Performance)",
"tags": "",
"keywords": "AvoidNonRestrictiveQueries",
"url": "pmd_rules_apex_performance.html#avoidnonrestrictivequeries",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "EagerlyLoadedDescribeSObjectResult (Apex, Performance)",
"tags": "",
"keywords": "EagerlyLoadedDescribeSObjectResult",
"url": "pmd_rules_apex_performance.html#eagerlyloadeddescribesobjectresult",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "OperationWithHighCostInLoop (Apex, Performance)",
"tags": "",
"keywords": "OperationWithHighCostInLoop",
"url": "pmd_rules_apex_performance.html#operationwithhighcostinloop",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "OperationWithLimitsInLoop (Apex, Performance)",
"tags": "",
"keywords": "OperationWithLimitsInLoop",
"url": "pmd_rules_apex_performance.html#operationwithlimitsinloop",
"summary": "Rules that flag suboptimal code."
}
,
{
"title": "Perl support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_perl.html",
"summary": "Perl-specific features and guidance"
}
,
{
"title": "PHP support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_php.html",
"summary": "PHP-specific features and guidance"
}
,
{
"title": "PLSQL Rules",
"tags": "rule_referencesplsql",
"keywords": "",
"url": "pmd_rules_plsql.html",
"summary": "Index of all built-in rules available for PLSQL"
}
,
{
"title": "PL/SQL Support",
"tags": "languagesPmdCapableLanguageCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_plsql.html",
"summary": "PL/SQL-specific features and guidance"
}
,
{
"title": "Report formats for PMD",
"tags": "pmduserdocs",
"keywords": "formatsrenderers",
"url": "pmd_userdocs_report_formats.html",
"summary": "Overview of the built-in report formats for PMD"
}
,
{
"title": "Pmdtester",
"tags": "devdocs",
"keywords": "",
"url": "pmd_devdocs_pmdtester.html",
"summary": ""
}
,
{
"title": "Maven POM Rules",
"tags": "rule_referencespom",
"keywords": "",
"url": "pmd_rules_pom.html",
"summary": "Index of all built-in rules available for Maven POM"
}
,
{
"title": "Products/books related to PMD",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_trivia_products.html",
"summary": ""
}
,
{
"title": "Python support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_python.html",
"summary": "Python-specific features and guidance"
}
,
{
"title": "PMD Release Notes",
"tags": "",
"keywords": "changelog, release notes",
"url": "pmd_release_notes.html",
"summary": ""
}
,
{
"title": "Old Release Notes",
"tags": "",
"keywords": "",
"url": "pmd_release_notes_old.html",
"summary": ""
}
,
{
"title": "Detailed Release Notes for PMD 7",
"tags": "",
"keywords": "changelog, release notes",
"url": "pmd_release_notes_pmd7.html",
"summary": "These are the detailed release notes for PMD 7."
}
,
{
"title": "Release schedule and version policies",
"tags": "",
"keywords": "",
"url": "pmd_about_release_policies.html",
"summary": ""
}
,
{
"title": "Release process",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_committers_releasing.html",
"summary": ""
}
,
{
"title": "Roadmap",
"tags": "devdocs",
"keywords": "",
"url": "pmd_devdocs_roadmap.html",
"summary": ""
}
,
{
"title": "Ruby support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_ruby.html",
"summary": "Ruby-specific features and guidance"
}
,
{
"title": "Rule deprecation policy",
"tags": "devdocs",
"keywords": "",
"url": "pmd_devdocs_rule_deprecation_policy.html",
"summary": "Describes when and how rules are deprecated"
}
,
{
"title": "Guidelines for standard rules",
"tags": "devdocsextending",
"keywords": "",
"url": "pmd_devdocs_major_rule_guidelines.html",
"summary": "Guidelines for rules that are included in the standard distribution"
}
,
{
"title": "Rule guidelines",
"tags": "extendinguserdocs",
"keywords": "",
"url": "pmd_userdocs_extending_rule_guidelines.html",
"summary": "Rule Guidelines, or the last touches to a rule"
}
,
{
"title": "Scala Rules",
"tags": "rule_referencesscala",
"keywords": "",
"url": "pmd_rules_scala.html",
"summary": "Index of all built-in rules available for Scala"
}
,
{
"title": "Scala support",
"tags": "languagesPmdCapableLanguageCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_scala.html",
"summary": "Scala-specific features and guidance"
}
,
{
"title": "Security (Java, Security)",
"tags": "",
"keywords": "Security",
"url": "pmd_rules_java_security.html#security",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "HardCodedCryptoKey (Java, Security)",
"tags": "",
"keywords": "HardCodedCryptoKey",
"url": "pmd_rules_java_security.html#hardcodedcryptokey",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "InsecureCryptoIv (Java, Security)",
"tags": "",
"keywords": "InsecureCryptoIv",
"url": "pmd_rules_java_security.html#insecurecryptoiv",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "Security (Java Server Pages, Security)",
"tags": "",
"keywords": "Security",
"url": "pmd_rules_jsp_security.html#security",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "IframeMissingSrcAttribute (Java Server Pages, Security)",
"tags": "",
"keywords": "IframeMissingSrcAttribute",
"url": "pmd_rules_jsp_security.html#iframemissingsrcattribute",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "NoUnsanitizedJSPExpression (Java Server Pages, Security)",
"tags": "",
"keywords": "NoUnsanitizedJSPExpression",
"url": "pmd_rules_jsp_security.html#nounsanitizedjspexpression",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "Security (Salesforce Visualforce, Security)",
"tags": "",
"keywords": "Security",
"url": "pmd_rules_visualforce_security.html#security",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "VfCsrf (Salesforce Visualforce, Security)",
"tags": "",
"keywords": "VfCsrf",
"url": "pmd_rules_visualforce_security.html#vfcsrf",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "VfHtmlStyleTagXss (Salesforce Visualforce, Security)",
"tags": "",
"keywords": "VfHtmlStyleTagXss",
"url": "pmd_rules_visualforce_security.html#vfhtmlstyletagxss",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "VfUnescapeEl (Salesforce Visualforce, Security)",
"tags": "",
"keywords": "VfUnescapeEl",
"url": "pmd_rules_visualforce_security.html#vfunescapeel",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "Security (Apex, Security)",
"tags": "",
"keywords": "Security",
"url": "pmd_rules_apex_security.html#security",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "ApexBadCrypto (Apex, Security)",
"tags": "",
"keywords": "ApexBadCrypto",
"url": "pmd_rules_apex_security.html#apexbadcrypto",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "ApexCRUDViolation (Apex, Security)",
"tags": "",
"keywords": "ApexCRUDViolation",
"url": "pmd_rules_apex_security.html#apexcrudviolation",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "ApexDangerousMethods (Apex, Security)",
"tags": "",
"keywords": "ApexDangerousMethods",
"url": "pmd_rules_apex_security.html#apexdangerousmethods",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "ApexInsecureEndpoint (Apex, Security)",
"tags": "",
"keywords": "ApexInsecureEndpoint",
"url": "pmd_rules_apex_security.html#apexinsecureendpoint",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "ApexOpenRedirect (Apex, Security)",
"tags": "",
"keywords": "ApexOpenRedirect",
"url": "pmd_rules_apex_security.html#apexopenredirect",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "ApexSharingViolations (Apex, Security)",
"tags": "",
"keywords": "ApexSharingViolations",
"url": "pmd_rules_apex_security.html#apexsharingviolations",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "ApexSOQLInjection (Apex, Security)",
"tags": "",
"keywords": "ApexSOQLInjection",
"url": "pmd_rules_apex_security.html#apexsoqlinjection",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "ApexSuggestUsingNamedCred (Apex, Security)",
"tags": "",
"keywords": "ApexSuggestUsingNamedCred",
"url": "pmd_rules_apex_security.html#apexsuggestusingnamedcred",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "ApexXSSFromEscapeFalse (Apex, Security)",
"tags": "",
"keywords": "ApexXSSFromEscapeFalse",
"url": "pmd_rules_apex_security.html#apexxssfromescapefalse",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "ApexXSSFromURLParam (Apex, Security)",
"tags": "",
"keywords": "ApexXSSFromURLParam",
"url": "pmd_rules_apex_security.html#apexxssfromurlparam",
"summary": "Rules that flag potential security flaws."
}
,
{
"title": "Similar projects",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_trivia_similarprojects.html",
"summary": ""
}
,
{
"title": "Support lifecycle",
"tags": "",
"keywords": "",
"url": "pmd_about_support_lifecycle.html",
"summary": ""
}
,
{
"title": "Suppressing warnings",
"tags": "userdocs",
"keywords": "suppressingwarningssuppresswarningsnopmdviolationSuppressXPathviolationSuppressRegex",
"url": "pmd_userdocs_suppressing_warnings.html",
"summary": "Learn how to suppress some rule violations, from the source code using annotations or comments, or globally from the ruleset"
}
,
{
"title": "Swift Rules",
"tags": "rule_referencesswift",
"keywords": "",
"url": "pmd_rules_swift.html",
"summary": "Index of all built-in rules available for Swift"
}
,
{
"title": "Swift support",
"tags": "languagesPmdCapableLanguageCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_swift.html",
"summary": "Swift-specific features and guidance"
}
,
{
"title": "Testing your rules",
"tags": "extendinguserdocs",
"keywords": "",
"url": "pmd_userdocs_extending_testing.html",
"summary": "Learn how to use PMD's simple test framework for unit testing rules."
}
,
{
"title": "Tools / Integrations",
"tags": "userdocstools",
"keywords": "",
"url": "pmd_userdocs_tools.html",
"summary": ""
}
,
{
"title": "T-SQL support",
"tags": "languagesCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_tsql.html",
"summary": "T-SQL-specific features and guidance"
}
,
{
"title": "Velocity Template Language (VTL) Rules",
"tags": "rule_referencesvelocity",
"keywords": "",
"url": "pmd_rules_velocity.html",
"summary": "Index of all built-in rules available for Velocity Template Language (VTL)"
}
,
{
"title": "Velocity Template Language (VTL) support",
"tags": "languagesPmdCapableLanguageCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_velocity.html",
"summary": "VTL-specific features and guidance"
}
,
{
"title": "Salesforce Visualforce Rules",
"tags": "rule_referencesvisualforce",
"keywords": "",
"url": "pmd_rules_visualforce.html",
"summary": "Index of all built-in rules available for Salesforce Visualforce"
}
,
{
"title": "Visualforce Support",
"tags": "languagesPmdCapableLanguageCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_visualforce.html",
"summary": "Visualforce-specific features and guidance"
}
,
{
"title": "Writing documentation",
"tags": "devdocs",
"keywords": "documentation, jekyll, markdown",
"url": "pmd_devdocs_writing_documentation.html",
"summary": ""
}
,
{
"title": "Writing a custom rule",
"tags": "extendinguserdocs",
"keywords": "",
"url": "pmd_userdocs_extending_writing_java_rules.html",
"summary": "Learn how to write a custom rule for PMD"
}
,
{
"title": "Writing a custom rule",
"tags": "extendinguserdocs",
"keywords": "",
"url": "pmd_userdocs_extending_writing_pmd_rules.html",
"summary": ""
}
,
{
"title": "Introduction to writing PMD rules",
"tags": "extendinguserdocsgetting_started",
"keywords": "",
"url": "pmd_userdocs_extending_writing_rules_intro.html",
"summary": "Writing your own PMD rules"
}
,
{
"title": "Writing XPath rules",
"tags": "extendinguserdocs",
"keywords": "",
"url": "pmd_userdocs_extending_writing_xpath_rules.html",
"summary": "This page describes XPath rule support in more details"
}
,
{
"title": "XML Rules",
"tags": "rule_referencesxml",
"keywords": "",
"url": "pmd_rules_xml.html",
"summary": "Index of all built-in rules available for XML"
}
,
{
"title": "XML support",
"tags": "languagesPmdCapableLanguageCpdCapableLanguage",
"keywords": "",
"url": "pmd_languages_xml.html",
"summary": "XML-specific features and guidance"
}
,
{
"title": "XSL Rules",
"tags": "rule_referencesxsl",
"keywords": "",
"url": "pmd_rules_xsl.html",
"summary": "Index of all built-in rules available for XSL"
}
,
{
"title": "Your first rule",
"tags": "extendinguserdocs",
"keywords": "",
"url": "pmd_userdocs_extending_your_first_rule.html",
"summary": "Introduction to rule writing through an example for a XPath rule."
}
]