[ { "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." } ]