forked from phoedos/pmd
Fix other offenders
This commit is contained in:
@ -10,16 +10,19 @@
|
||||
</description>
|
||||
|
||||
<rule name="CycloTest"
|
||||
language="apex"
|
||||
message = "''{0}'' has value {1}."
|
||||
class="net.sourceforge.pmd.lang.apex.metrics.impl.CycloTestRule">
|
||||
</rule>
|
||||
|
||||
<rule name="WmcTest"
|
||||
language="apex"
|
||||
message = "''{0}'' has value {1}."
|
||||
class="net.sourceforge.pmd.lang.apex.metrics.impl.WmcTestRule">
|
||||
</rule>
|
||||
|
||||
<rule name="CognitiveComplexityTest"
|
||||
language="apex"
|
||||
message = "''{0}'' has value {1}."
|
||||
class="net.sourceforge.pmd.lang.apex.metrics.impl.CognitiveComplexityTestRule">
|
||||
</rule>
|
||||
|
@ -35,6 +35,7 @@ public abstract class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="AccessorClassGeneration"
|
||||
language="java"
|
||||
since="1.04"
|
||||
maximumLanguageVersion="10"
|
||||
message="Avoid instantiation through private constructors from outside of the constructor's class."
|
||||
@ -96,6 +97,7 @@ public class OuterClass {
|
||||
</rule>
|
||||
|
||||
<rule name="ArrayIsStoredDirectly"
|
||||
language="java"
|
||||
since="2.2"
|
||||
message="The user-supplied array ''{0}'' is stored directly."
|
||||
class="net.sourceforge.pmd.lang.java.rule.bestpractices.ArrayIsStoredDirectlyRule"
|
||||
@ -210,6 +212,7 @@ class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="AvoidReassigningLoopVariables"
|
||||
language="java"
|
||||
since="6.11.0"
|
||||
message="Avoid reassigning the loop control variable ''{0}''"
|
||||
class="net.sourceforge.pmd.lang.java.rule.bestpractices.AvoidReassigningLoopVariablesRule"
|
||||
@ -258,6 +261,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="AvoidReassigningParameters"
|
||||
language="java"
|
||||
since="1.0"
|
||||
message="Avoid reassigning parameters such as ''{0}''"
|
||||
class="net.sourceforge.pmd.lang.java.rule.bestpractices.AvoidReassigningParametersRule"
|
||||
@ -752,6 +756,7 @@ public class MyTest {
|
||||
</rule>
|
||||
|
||||
<rule name="JUnitAssertionsShouldIncludeMessage"
|
||||
language="java"
|
||||
since="1.04"
|
||||
message="JUnit assertions should include a message"
|
||||
class="net.sourceforge.pmd.lang.java.rule.bestpractices.JUnitAssertionsShouldIncludeMessageRule"
|
||||
@ -832,6 +837,7 @@ public class MyTestCase extends TestCase {
|
||||
</rule>
|
||||
|
||||
<rule name="JUnitTestsShouldIncludeAssert"
|
||||
language="java"
|
||||
since="2.0"
|
||||
message="JUnit tests should include assert() or fail()"
|
||||
class="net.sourceforge.pmd.lang.java.rule.bestpractices.JUnitTestsShouldIncludeAssertRule"
|
||||
@ -856,6 +862,7 @@ public class Foo extends TestCase {
|
||||
</rule>
|
||||
|
||||
<rule name="JUnitUseExpected"
|
||||
language="java"
|
||||
since="4.0"
|
||||
message="In JUnit4, use the @Test(expected) annotation to denote tests that should throw exceptions"
|
||||
class="net.sourceforge.pmd.lang.java.rule.bestpractices.JUnitUseExpectedRule"
|
||||
@ -921,6 +928,7 @@ class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="LooseCoupling"
|
||||
language="java"
|
||||
since="0.7"
|
||||
message="Avoid using implementation types like ''{0}''; use the interface instead"
|
||||
class="net.sourceforge.pmd.lang.java.rule.bestpractices.LooseCouplingRule"
|
||||
@ -957,6 +965,7 @@ public class Bar {
|
||||
</rule>
|
||||
|
||||
<rule name="MethodReturnsInternalArray"
|
||||
language="java"
|
||||
since="2.2"
|
||||
message="Returning ''{0}'' may expose an internal array."
|
||||
class="net.sourceforge.pmd.lang.java.rule.bestpractices.MethodReturnsInternalArrayRule"
|
||||
@ -981,6 +990,7 @@ public class SecureSystem {
|
||||
|
||||
|
||||
<rule name="MissingOverride"
|
||||
language="java"
|
||||
since="6.2.0"
|
||||
minimumLanguageVersion="1.5"
|
||||
message="The method ''{0}'' is missing an @Override annotation."
|
||||
@ -1100,6 +1110,7 @@ class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="PreserveStackTrace"
|
||||
language="java"
|
||||
since="3.7"
|
||||
message="New exception is thrown in catch block, original stack trace may be lost"
|
||||
class="net.sourceforge.pmd.lang.java.rule.bestpractices.PreserveStackTraceRule"
|
||||
@ -1324,6 +1335,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="UnusedImports"
|
||||
language="java"
|
||||
since="1.0"
|
||||
message="Avoid unused imports such as ''{0}''"
|
||||
class="net.sourceforge.pmd.lang.java.rule.bestpractices.UnusedImportsRule"
|
||||
@ -1612,6 +1624,7 @@ public class MyTestCase extends TestCase {
|
||||
</rule>
|
||||
|
||||
<rule name="UseCollectionIsEmpty"
|
||||
language="java"
|
||||
since="3.9"
|
||||
message="Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty()"
|
||||
class="net.sourceforge.pmd.lang.java.rule.bestpractices.UseCollectionIsEmptyRule"
|
||||
|
@ -74,6 +74,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="AvoidDollarSigns"
|
||||
language="java"
|
||||
since="1.5"
|
||||
message="Avoid using dollar signs in variable/method/class/interface names"
|
||||
class="net.sourceforge.pmd.lang.java.rule.codestyle.AvoidDollarSignsRule"
|
||||
@ -386,6 +387,7 @@ public class Foo extends Bar{
|
||||
</rule>
|
||||
|
||||
<rule name="ClassNamingConventions"
|
||||
language="java"
|
||||
since="1.2"
|
||||
message="The {0} name ''{1}'' doesn''t match ''{2}''"
|
||||
class="net.sourceforge.pmd.lang.java.rule.codestyle.ClassNamingConventionsRule"
|
||||
@ -419,6 +421,7 @@ public class Éléphant {}
|
||||
</rule>
|
||||
|
||||
<rule name="CommentDefaultAccessModifier"
|
||||
language="java"
|
||||
since="5.4.0"
|
||||
class="net.sourceforge.pmd.lang.java.rule.codestyle.CommentDefaultAccessModifierRule"
|
||||
message="Missing commented default access modifier"
|
||||
@ -458,6 +461,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="ConfusingTernary"
|
||||
language="java"
|
||||
since="1.9"
|
||||
message="Avoid if (x != y) ..; else ..;"
|
||||
class="net.sourceforge.pmd.lang.java.rule.codestyle.ConfusingTernaryRule"
|
||||
@ -586,6 +590,7 @@ or MethodDeclaration[@PackagePrivate= true()]
|
||||
</rule>
|
||||
|
||||
<rule name="DontImportJavaLang"
|
||||
language="java"
|
||||
since="0.5"
|
||||
message="Avoid importing anything from the package 'java.lang'"
|
||||
class="net.sourceforge.pmd.lang.java.rule.codestyle.DontImportJavaLangRule"
|
||||
@ -610,6 +615,7 @@ public class Foo {}
|
||||
</rule>
|
||||
|
||||
<rule name="DuplicateImports"
|
||||
language="java"
|
||||
since="0.5"
|
||||
message="Avoid duplicate imports such as ''{0}''"
|
||||
class="net.sourceforge.pmd.lang.java.rule.codestyle.DuplicateImportsRule"
|
||||
@ -733,6 +739,7 @@ public class HelloWorldBean {
|
||||
|
||||
|
||||
<rule name="FieldNamingConventions"
|
||||
language="java"
|
||||
since="6.7.0"
|
||||
message="The {0} name ''{1}'' doesn''t match ''{2}''"
|
||||
class="net.sourceforge.pmd.lang.java.rule.codestyle.FieldNamingConventionsRule"
|
||||
@ -834,6 +841,7 @@ for (int i = 0; i < 42; i++)
|
||||
</rule>
|
||||
|
||||
<rule name="FormalParameterNamingConventions"
|
||||
language="java"
|
||||
since="6.6.0"
|
||||
message="The {0} name ''{1}'' doesn''t match ''{2}''"
|
||||
class="net.sourceforge.pmd.lang.java.rule.codestyle.FormalParameterNamingConventionsRule"
|
||||
@ -1175,6 +1183,7 @@ public interface MissingProperSuffix extends javax.ejb.EJBLocalObject {} // n
|
||||
</rule>
|
||||
|
||||
<rule name="LocalVariableCouldBeFinal"
|
||||
language="java"
|
||||
since="2.2"
|
||||
message="Local variable ''{0}'' could be declared final"
|
||||
class="net.sourceforge.pmd.lang.java.rule.codestyle.LocalVariableCouldBeFinalRule"
|
||||
@ -1196,6 +1205,7 @@ public class Bar {
|
||||
</rule>
|
||||
|
||||
<rule name="LocalVariableNamingConventions"
|
||||
language="java"
|
||||
since="6.6.0"
|
||||
message="The {0} name ''{1}'' doesn''t match ''{2}''"
|
||||
class="net.sourceforge.pmd.lang.java.rule.codestyle.LocalVariableNamingConventionsRule"
|
||||
@ -1308,6 +1318,7 @@ public class MissingTheProperSuffix implements SessionBean {} // non-standard
|
||||
</rule>
|
||||
|
||||
<rule name="MethodArgumentCouldBeFinal"
|
||||
language="java"
|
||||
since="2.2"
|
||||
message="Parameter ''{0}'' is not assigned and could be declared final"
|
||||
class="net.sourceforge.pmd.lang.java.rule.codestyle.MethodArgumentCouldBeFinalRule"
|
||||
@ -1330,6 +1341,7 @@ public void foo2 (final String param) { // better, do stuff with param never ass
|
||||
</rule>
|
||||
|
||||
<rule name="MethodNamingConventions"
|
||||
language="java"
|
||||
since="1.2"
|
||||
message="The {0} name ''{1}'' doesn''t match ''{2}''"
|
||||
class="net.sourceforge.pmd.lang.java.rule.codestyle.MethodNamingConventionsRule"
|
||||
@ -1476,6 +1488,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="OnlyOneReturn"
|
||||
language="java"
|
||||
since="1.0"
|
||||
message="A method should have only one exit point, and that should be the last statement in the method"
|
||||
class="net.sourceforge.pmd.lang.java.rule.codestyle.OnlyOneReturnRule"
|
||||
@ -1823,6 +1836,7 @@ import static Yoko; // Too much !
|
||||
|
||||
|
||||
<rule name="UnnecessaryAnnotationValueElement"
|
||||
language="java"
|
||||
since="6.2.0"
|
||||
message="Avoid the use of value in annotations when it's the only element"
|
||||
class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryAnnotationValueElementRule"
|
||||
@ -1935,6 +1949,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="UnnecessaryLocalBeforeReturn"
|
||||
language="java"
|
||||
since="3.3"
|
||||
message="Consider simply returning the value vs storing it in local variable ''{0}''"
|
||||
class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryLocalBeforeReturnRule"
|
||||
@ -1994,6 +2009,7 @@ public class Bar {
|
||||
</rule>
|
||||
|
||||
<rule name="UnnecessaryReturn"
|
||||
language="java"
|
||||
since="1.3"
|
||||
message="Avoid unnecessary return statements"
|
||||
class="net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryReturnRule"
|
||||
@ -2240,6 +2256,7 @@ Foo[] x = { ... }; //Equivalent to above line
|
||||
</rule>
|
||||
|
||||
<rule name="VariableNamingConventions"
|
||||
language="java"
|
||||
since="1.2"
|
||||
deprecated="true"
|
||||
message="{0} variable {1} should begin with {2}"
|
||||
|
@ -92,6 +92,7 @@ public class PrimitiveType {
|
||||
</rule>
|
||||
|
||||
<rule name="AvoidDeeplyNestedIfStmts"
|
||||
language="java"
|
||||
since="1.0"
|
||||
message="Deeply nested if..then statements are hard to read"
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.AvoidDeeplyNestedIfStmtsRule"
|
||||
@ -410,6 +411,7 @@ void bar() {
|
||||
</rule>
|
||||
|
||||
<rule name="CouplingBetweenObjects"
|
||||
language="java"
|
||||
since="1.04"
|
||||
message="High amount of different objects as members denotes a high coupling"
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.CouplingBetweenObjectsRule"
|
||||
@ -442,6 +444,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="CyclomaticComplexity"
|
||||
language="java"
|
||||
message="The {0} ''{1}'' has a{2} cyclomatic complexity of {3}."
|
||||
since="1.03"
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.CyclomaticComplexityRule"
|
||||
@ -495,6 +498,7 @@ class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="DataClass"
|
||||
language="java"
|
||||
since="6.0.0"
|
||||
message="The class ''{0}'' is suspected to be a Data Class (WOC={1}, NOPA={2}, NOAM={3}, WMC={4})"
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.DataClassRule"
|
||||
@ -562,6 +566,7 @@ public class Foo extends Error { }
|
||||
</rule>
|
||||
|
||||
<rule name="ExceptionAsFlowControl"
|
||||
language="java"
|
||||
since="1.8"
|
||||
message="Avoid using exceptions as flow control."
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.ExceptionAsFlowControlRule"
|
||||
@ -589,6 +594,7 @@ public void bar() {
|
||||
</rule>
|
||||
|
||||
<rule name="ExcessiveClassLength"
|
||||
language="java"
|
||||
since="0.6"
|
||||
message="Avoid really long classes."
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.ExcessiveClassLengthRule"
|
||||
@ -621,6 +627,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="ExcessiveImports"
|
||||
language="java"
|
||||
since="1.04"
|
||||
message="A high number of imports can indicate a high degree of coupling within an object."
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.ExcessiveImportsRule"
|
||||
@ -644,6 +651,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="ExcessiveMethodLength"
|
||||
language="java"
|
||||
since="0.6"
|
||||
message="Avoid really long methods."
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.ExcessiveMethodLengthRule"
|
||||
@ -667,6 +675,7 @@ public void doSomething() {
|
||||
</rule>
|
||||
|
||||
<rule name="ExcessiveParameterList"
|
||||
language="java"
|
||||
since="0.9"
|
||||
message="Avoid long parameter lists."
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.ExcessiveParameterListRule"
|
||||
@ -694,6 +703,7 @@ public void addPerson( // preferred approach
|
||||
</rule>
|
||||
|
||||
<rule name="ExcessivePublicCount"
|
||||
language="java"
|
||||
since="1.04"
|
||||
message="This class has a bunch of public methods and attributes"
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.ExcessivePublicCountRule"
|
||||
@ -777,6 +787,7 @@ of Object-Oriented Systems. Springer, Berlin, 1 edition, October 2006. Page 80.
|
||||
</rule>
|
||||
|
||||
<rule name="ImmutableField"
|
||||
language="java"
|
||||
since="2.0"
|
||||
message="Private field ''{0}'' could be made final; it is only initialized in the declaration or constructor."
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.ImmutableFieldRule"
|
||||
@ -885,6 +896,7 @@ public boolean bar(int a, int b) {
|
||||
</rule>
|
||||
|
||||
<rule name="LoosePackageCoupling"
|
||||
language="java"
|
||||
since="5.0"
|
||||
message="Use of ''{0}'' outside of package hierarchy ''{1}'' is not recommended; use recommended classes instead"
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.LoosePackageCouplingRule"
|
||||
@ -908,6 +920,7 @@ public class Bar {
|
||||
</rule>
|
||||
|
||||
<rule name="ModifiedCyclomaticComplexity"
|
||||
language="java"
|
||||
since="5.1.2"
|
||||
message = "The {0} ''{1}'' has a Modified Cyclomatic Complexity of {2}."
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.ModifiedCyclomaticComplexityRule"
|
||||
@ -967,6 +980,7 @@ public class Foo { // This has a Cyclomatic Complexity = 9
|
||||
</rule>
|
||||
|
||||
<rule name="NcssConstructorCount"
|
||||
language="java"
|
||||
message="The constructor with {0} parameters has an NCSS line count of {1}"
|
||||
since="3.9"
|
||||
deprecated="true"
|
||||
@ -1000,6 +1014,7 @@ public class Foo extends Bar {
|
||||
</rule>
|
||||
|
||||
<rule name="NcssCount"
|
||||
language="java"
|
||||
message="The {0} ''{1}'' has a NCSS line count of {2}."
|
||||
since="6.0.0"
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.NcssCountRule"
|
||||
@ -1043,6 +1058,7 @@ class Foo { // +1, total Ncss = 12
|
||||
</rule>
|
||||
|
||||
<rule name="NcssMethodCount"
|
||||
language="java"
|
||||
message="The method {0}() has an NCSS line count of {1}"
|
||||
deprecated="true"
|
||||
since="3.9"
|
||||
@ -1077,6 +1093,7 @@ public class Foo extends Bar {
|
||||
</rule>
|
||||
|
||||
<rule name="NcssTypeCount"
|
||||
language="java"
|
||||
message="The type has an NCSS line count of {0}"
|
||||
since="3.9"
|
||||
deprecated="true"
|
||||
@ -1110,6 +1127,7 @@ public class Foo extends Bar {
|
||||
</rule>
|
||||
|
||||
<rule name="NPathComplexity"
|
||||
language="java"
|
||||
since="3.9"
|
||||
message="The {0} ''{1}'' has an NPath complexity of {2}, current threshold is {3}"
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.NPathComplexityRule"
|
||||
@ -1166,6 +1184,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="SignatureDeclareThrowsException"
|
||||
language="java"
|
||||
since="1.2"
|
||||
message="A method/constructor should not explicitly throw java.lang.Exception"
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.SignatureDeclareThrowsExceptionRule"
|
||||
@ -1335,6 +1354,7 @@ public class Bar {
|
||||
</rule>
|
||||
|
||||
<rule name="SimplifyBooleanReturns"
|
||||
language="java"
|
||||
since="0.9"
|
||||
message="Avoid unnecessary if..then..else statements when returning booleans"
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.SimplifyBooleanReturnsRule"
|
||||
@ -1418,6 +1438,7 @@ class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="SingularField"
|
||||
language="java"
|
||||
since="3.1"
|
||||
message="Perhaps ''{0}'' could be replaced by a local variable."
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.SingularFieldRule"
|
||||
@ -1442,6 +1463,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="StdCyclomaticComplexity"
|
||||
language="java"
|
||||
since="5.1.2"
|
||||
message = "The {0} ''{1}'' has a Standard Cyclomatic Complexity of {2}."
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.StdCyclomaticComplexityRule"
|
||||
@ -1500,6 +1522,7 @@ public class Foo { // This has a Cyclomatic Complexity = 12
|
||||
</rule>
|
||||
|
||||
<rule name="SwitchDensity"
|
||||
language="java"
|
||||
since="1.02"
|
||||
message="A high ratio of statements to labels in a switch statement. Consider refactoring."
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.SwitchDensityRule"
|
||||
@ -1530,6 +1553,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="TooManyFields"
|
||||
language="java"
|
||||
since="3.0"
|
||||
message="Too many fields"
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.TooManyFieldsRule"
|
||||
@ -1614,6 +1638,7 @@ complexity and find a way to have more fine grained objects.
|
||||
</rule>
|
||||
|
||||
<rule name="UselessOverridingMethod"
|
||||
language="java"
|
||||
since="3.3"
|
||||
message="Overriding method merely calls super"
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.UselessOverridingMethodRule"
|
||||
@ -1687,6 +1712,7 @@ public class MyClass {
|
||||
</rule>
|
||||
|
||||
<rule name="UseUtilityClass"
|
||||
language="java"
|
||||
since="0.3"
|
||||
message="All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning."
|
||||
class="net.sourceforge.pmd.lang.java.rule.design.UseUtilityClassRule"
|
||||
|
@ -10,6 +10,7 @@ Rules that are related to code documentation.
|
||||
</description>
|
||||
|
||||
<rule name="CommentContent"
|
||||
language="java"
|
||||
since="5.0"
|
||||
message="Invalid words or phrases found"
|
||||
class="net.sourceforge.pmd.lang.java.rule.documentation.CommentContentRule"
|
||||
@ -26,6 +27,7 @@ A rule for the politically correct... we don't want to offend anyone.
|
||||
</rule>
|
||||
|
||||
<rule name="CommentRequired"
|
||||
language="java"
|
||||
since="5.1"
|
||||
message="Comment is required"
|
||||
class="net.sourceforge.pmd.lang.java.rule.documentation.CommentRequiredRule"
|
||||
@ -46,6 +48,7 @@ Denotes whether javadoc (formal) comments are required (or unwanted) for specifi
|
||||
</rule>
|
||||
|
||||
<rule name="CommentSize"
|
||||
language="java"
|
||||
since="5.0"
|
||||
message="Comment is too large"
|
||||
class="net.sourceforge.pmd.lang.java.rule.documentation.CommentSizeRule"
|
||||
|
@ -10,6 +10,7 @@ Rules to detect constructs that are either broken, extremely confusing or prone
|
||||
</description>
|
||||
|
||||
<rule name="AssignmentInOperand"
|
||||
language="java"
|
||||
since="1.03"
|
||||
message="Avoid assignments in operands"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.AssignmentInOperandRule"
|
||||
@ -31,6 +32,7 @@ public void bar() {
|
||||
</rule>
|
||||
|
||||
<rule name="AssignmentToNonFinalStatic"
|
||||
language="java"
|
||||
since="2.2"
|
||||
message="Possible unsafe assignment to a non-final static field in a constructor."
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.AssignmentToNonFinalStaticRule"
|
||||
@ -155,6 +157,7 @@ public class A {
|
||||
</rule>
|
||||
|
||||
<rule name="AvoidBranchingStatementAsLastInLoop"
|
||||
language="java"
|
||||
since="5.0"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.AvoidBranchingStatementAsLastInLoopRule"
|
||||
message="Avoid using a branching statement as the last in a loop."
|
||||
@ -185,6 +188,7 @@ for (int i = 0; i < 10; i++) {
|
||||
</rule>
|
||||
|
||||
<rule name="AvoidCallingFinalize"
|
||||
language="java"
|
||||
since="3.0"
|
||||
message="Avoid calling finalize() explicitly"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.AvoidCallingFinalizeRule"
|
||||
@ -243,6 +247,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="AvoidCatchingThrowable"
|
||||
language="java"
|
||||
since="1.2"
|
||||
message="A catch statement should never catch throwable since it includes errors."
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.AvoidCatchingThrowableRule"
|
||||
@ -313,6 +318,7 @@ BigDecimal bd = new BigDecimal(12); // preferred approach, ok for integ
|
||||
</rule>
|
||||
|
||||
<rule name="AvoidDuplicateLiterals"
|
||||
language="java"
|
||||
since="1.0"
|
||||
message="The String literal {0} appears {1} times in this file; the first occurrence is on line {2}"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.AvoidDuplicateLiteralsRule"
|
||||
@ -362,6 +368,7 @@ public class A {
|
||||
</rule>
|
||||
|
||||
<rule name="AvoidFieldNameMatchingMethodName"
|
||||
language="java"
|
||||
since="3.0"
|
||||
message="Field {0} has the same name as a method"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.AvoidFieldNameMatchingMethodNameRule"
|
||||
@ -385,6 +392,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="AvoidFieldNameMatchingTypeName"
|
||||
language="java"
|
||||
since="3.0"
|
||||
message="It is somewhat confusing to have a field name matching the declaring class name"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.AvoidFieldNameMatchingTypeNameRule"
|
||||
@ -574,6 +582,7 @@ public void bar() {
|
||||
</rule>
|
||||
|
||||
<rule name="AvoidMultipleUnaryOperators"
|
||||
language="java"
|
||||
since="4.2"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.AvoidMultipleUnaryOperatorsRule"
|
||||
message="Using multiple unary operators may be a bug, and/or is confusing."
|
||||
@ -607,6 +616,7 @@ int j = -~7;
|
||||
</rule>
|
||||
|
||||
<rule name="AvoidUsingOctalValues"
|
||||
language="java"
|
||||
since="3.9"
|
||||
message="Do not start a literal by 0 unless it's an octal value"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.AvoidUsingOctalValuesRule"
|
||||
@ -656,6 +666,7 @@ boolean x = (y == Double.NaN);
|
||||
</rule>
|
||||
|
||||
<rule name="BeanMembersShouldSerialize"
|
||||
language="java"
|
||||
since="1.1"
|
||||
message="Found non-transient, non-static member. Please mark as transient or provide accessors."
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.BeanMembersShouldSerializeRule"
|
||||
@ -686,6 +697,7 @@ private int getMoreFoo(){
|
||||
</rule>
|
||||
|
||||
<rule name="BrokenNullCheck"
|
||||
language="java"
|
||||
since="3.8"
|
||||
message="Method call on object which may be null"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.BrokenNullCheckRule"
|
||||
@ -1032,6 +1044,7 @@ public class MyClass implements Cloneable{
|
||||
</rule>
|
||||
|
||||
<rule name="CloseResource"
|
||||
language="java"
|
||||
since="1.2.2"
|
||||
message="Ensure that resources like this {0} object are closed after use"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.CloseResourceRule"
|
||||
@ -1081,6 +1094,7 @@ public class Bar {
|
||||
</rule>
|
||||
|
||||
<rule name="CompareObjectsWithEquals"
|
||||
language="java"
|
||||
since="3.2"
|
||||
message="Use equals() to compare object references."
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.CompareObjectsWithEqualsRule"
|
||||
@ -1102,6 +1116,7 @@ class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="ConstructorCallsOverridableMethod"
|
||||
language="java"
|
||||
since="1.04"
|
||||
message="Overridable {0} called during object construction"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.ConstructorCallsOverridableMethodRule"
|
||||
@ -1141,6 +1156,7 @@ public class JuniorClass extends SeniorClass {
|
||||
</rule>
|
||||
|
||||
<rule name="DataflowAnomalyAnalysis"
|
||||
language="java"
|
||||
since="3.9"
|
||||
message="Found ''{0}''-anomaly for variable ''{1}'' (lines ''{2}''-''{3}'')."
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.DataflowAnomalyAnalysisRule"
|
||||
@ -1408,6 +1424,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="DontImportSun"
|
||||
language="java"
|
||||
since="1.5"
|
||||
message="Avoid importing anything from the 'sun.*' packages"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.DontImportSunRule"
|
||||
@ -2029,6 +2046,7 @@ public void finalize() {
|
||||
</rule>
|
||||
|
||||
<rule name="IdempotentOperations"
|
||||
language="java"
|
||||
since="2.0"
|
||||
message="Avoid idempotent operations (like assigning a variable to itself)."
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.IdempotentOperationsRule"
|
||||
@ -2050,6 +2068,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="ImportFromSamePackage"
|
||||
language="java"
|
||||
since="1.02"
|
||||
message="No need to import a type that lives in the same package"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.ImportFromSamePackageRule"
|
||||
@ -2256,6 +2275,7 @@ public class Foo{
|
||||
</rule>
|
||||
|
||||
<rule name="MethodWithSameNameAsEnclosingClass"
|
||||
language="java"
|
||||
since="1.5"
|
||||
message="Classes should not have non-constructor methods with the same name as the class"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.MethodWithSameNameAsEnclosingClassRule"
|
||||
@ -2507,6 +2527,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="MoreThanOneLogger"
|
||||
language="java"
|
||||
since="2.0"
|
||||
message="Class contains more than one logger."
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.MoreThanOneLoggerRule"
|
||||
@ -2599,6 +2620,7 @@ public class MyClass {
|
||||
</rule>
|
||||
|
||||
<rule name="NullAssignment"
|
||||
language="java"
|
||||
since="1.02"
|
||||
message="Assigning an Object to null is a code smell. Consider refactoring."
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.NullAssignmentRule"
|
||||
@ -2855,6 +2877,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="SingleMethodSingleton"
|
||||
language="java"
|
||||
since="5.4"
|
||||
message="Class contains multiple getInstance methods. Please review."
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.SingleMethodSingletonRule"
|
||||
@ -2887,6 +2910,7 @@ public class Singleton {
|
||||
</rule>
|
||||
|
||||
<rule name="SingletonClassReturningNewInstance"
|
||||
language="java"
|
||||
since="5.4"
|
||||
message="getInstance method always creates a new object and hence does not comply to Singleton Design Pattern behaviour. Please review"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.SingletonClassReturningNewInstanceRule"
|
||||
@ -3075,6 +3099,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="SuspiciousHashcodeMethodName"
|
||||
language="java"
|
||||
since="1.5"
|
||||
message="The method name and return type are suspiciously close to hashCode()"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.SuspiciousHashcodeMethodNameRule"
|
||||
@ -3095,6 +3120,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="SuspiciousOctalEscape"
|
||||
language="java"
|
||||
since="1.5"
|
||||
message="Suspicious decimal characters following octal escape in string literal"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.SuspiciousOctalEscapeRule"
|
||||
@ -3123,6 +3149,7 @@ public void foo() {
|
||||
</rule>
|
||||
|
||||
<rule name="TestClassWithoutTestCases"
|
||||
language="java"
|
||||
since="3.0"
|
||||
message="This class name ends with 'Test' but contains no test cases"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.TestClassWithoutTestCasesRule"
|
||||
@ -3238,6 +3265,7 @@ public class SimpleTest extends TestCase {
|
||||
</rule>
|
||||
|
||||
<rule name="UnnecessaryCaseChange"
|
||||
language="java"
|
||||
since="3.3"
|
||||
message="Using equalsIgnoreCase() is cleaner than using toUpperCase/toLowerCase().equals()."
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.UnnecessaryCaseChangeRule"
|
||||
@ -3256,6 +3284,7 @@ boolean answer2 = buz.toUpperCase().equalsIgnoreCase("baz"); // another unnec
|
||||
</rule>
|
||||
|
||||
<rule name="UnnecessaryConversionTemporary"
|
||||
language="java"
|
||||
since="0.1"
|
||||
message="Avoid unnecessary temporaries when converting primitives to Strings"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.UnnecessaryConversionTemporaryRule"
|
||||
@ -3427,6 +3456,7 @@ public boolean test(String s) {
|
||||
</rule>
|
||||
|
||||
<rule name="UselessOperationOnImmutable"
|
||||
language="java"
|
||||
since="3.5"
|
||||
message="An operation on an Immutable object (String, BigDecimal or BigInteger) won't change the object itself"
|
||||
class="net.sourceforge.pmd.lang.java.rule.errorprone.UselessOperationOnImmutableRule"
|
||||
|
@ -256,6 +256,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="NonThreadSafeSingleton"
|
||||
language="java"
|
||||
since="3.4"
|
||||
message="Singleton is not thread safe"
|
||||
class="net.sourceforge.pmd.lang.java.rule.multithreading.NonThreadSafeSingletonRule"
|
||||
@ -290,6 +291,7 @@ public static Foo getFoo() {
|
||||
</rule>
|
||||
|
||||
<rule name="UnsynchronizedStaticDateFormatter"
|
||||
language="java"
|
||||
since="3.6"
|
||||
deprecated="true"
|
||||
message="Static DateFormatter objects should be accessed in a synchronized manner"
|
||||
@ -321,6 +323,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="UnsynchronizedStaticFormatter"
|
||||
language="java"
|
||||
since="6.11.0"
|
||||
message="Static Formatter objects should be accessed in a synchronized manner"
|
||||
class="net.sourceforge.pmd.lang.java.rule.multithreading.UnsynchronizedStaticFormatterRule"
|
||||
|
@ -39,6 +39,7 @@ String t = Integer.toString(456); // preferred approach
|
||||
</rule>
|
||||
|
||||
<rule name="AppendCharacterWithChar"
|
||||
language="java"
|
||||
since="3.5"
|
||||
message="Avoid appending characters as strings in StringBuffer.append."
|
||||
class="net.sourceforge.pmd.lang.java.rule.performance.AppendCharacterWithCharRule"
|
||||
@ -246,6 +247,7 @@ that one covers both.
|
||||
</rule>
|
||||
|
||||
<rule name="AvoidInstantiatingObjectsInLoops"
|
||||
language="java"
|
||||
since="2.2"
|
||||
message="Avoid instantiating new objects inside loops"
|
||||
class="net.sourceforge.pmd.lang.java.rule.performance.AvoidInstantiatingObjectsInLoopsRule"
|
||||
@ -316,6 +318,7 @@ public class UsingShort {
|
||||
</rule>
|
||||
|
||||
<rule name="BigIntegerInstantiation"
|
||||
language="java"
|
||||
since="3.9"
|
||||
message="Don't create instances of already existing BigInteger and BigDecimal (ZERO, ONE, TEN)"
|
||||
class="net.sourceforge.pmd.lang.java.rule.performance.BigIntegerInstantiationRule"
|
||||
@ -337,6 +340,7 @@ bi4 = new BigInteger(0); // reference BigInteger.ZERO instead
|
||||
</rule>
|
||||
|
||||
<rule name="BooleanInstantiation"
|
||||
language="java"
|
||||
since="1.2"
|
||||
message="Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead."
|
||||
class="net.sourceforge.pmd.lang.java.rule.performance.BooleanInstantiationRule"
|
||||
@ -415,6 +419,7 @@ buf.append("Hello").append(foo).append("World"); // good
|
||||
</rule>
|
||||
|
||||
<rule name="ConsecutiveLiteralAppends"
|
||||
language="java"
|
||||
since="3.5"
|
||||
message="StringBuffer (or StringBuilder).append is called {0} consecutive times with literals. Use a single append with a single combined String."
|
||||
class="net.sourceforge.pmd.lang.java.rule.performance.ConsecutiveLiteralAppendsRule"
|
||||
@ -441,8 +446,9 @@ buf.append("1m"); // good
|
||||
</rule>
|
||||
|
||||
<rule name="InefficientEmptyStringCheck"
|
||||
language="java"
|
||||
since="3.6"
|
||||
message="String.trim().length() == 0 / String.trim().isEmpty() is an inefficient way to validate a blank String."
|
||||
message="String.trim().length() == 0 / String.trim().isEmpty() is an inefficient way to validate a blank String."
|
||||
class="net.sourceforge.pmd.lang.java.rule.performance.InefficientEmptyStringCheckRule"
|
||||
externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_performance.html#inefficientemptystringcheck">
|
||||
<description>
|
||||
@ -483,6 +489,7 @@ public void bar(String string) {
|
||||
</rule>
|
||||
|
||||
<rule name="InefficientStringBuffering"
|
||||
language="java"
|
||||
since="3.4"
|
||||
message="Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append()."
|
||||
class="net.sourceforge.pmd.lang.java.rule.performance.InefficientStringBufferingRule"
|
||||
@ -505,6 +512,7 @@ sb.append(System.getProperty("java.io.tmpdir"));
|
||||
</rule>
|
||||
|
||||
<rule name="InsufficientStringBufferDeclaration"
|
||||
language="java"
|
||||
since="3.6"
|
||||
message="StringBuffer constructor is initialized with size {0}, but has at least {1} characters appended."
|
||||
class="net.sourceforge.pmd.lang.java.rule.performance.InsufficientStringBufferDeclarationRule"
|
||||
@ -764,6 +772,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="StringInstantiation"
|
||||
language="java"
|
||||
since="1.0"
|
||||
message="Avoid instantiating String objects; this is usually unnecessary."
|
||||
class="net.sourceforge.pmd.lang.java.rule.performance.StringInstantiationRule"
|
||||
@ -780,6 +789,7 @@ private String bar = new String("bar"); // just do a String bar = "bar";
|
||||
</rule>
|
||||
|
||||
<rule name="StringToString"
|
||||
language="java"
|
||||
since="1.0"
|
||||
message="Avoid calling toString() on String objects; this is unnecessary."
|
||||
class="net.sourceforge.pmd.lang.java.rule.performance.StringToStringRule"
|
||||
@ -842,6 +852,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="UnnecessaryWrapperObjectCreation"
|
||||
language="java"
|
||||
since="3.8"
|
||||
message="Unnecessary wrapper object creation"
|
||||
class="net.sourceforge.pmd.lang.java.rule.performance.UnnecessaryWrapperObjectCreationRule"
|
||||
@ -981,6 +992,7 @@ public class Test {
|
||||
</rule>
|
||||
|
||||
<rule name="UseIndexOfChar"
|
||||
language="java"
|
||||
since="3.5"
|
||||
message="String.indexOf(char) is faster than String.indexOf(String)."
|
||||
class="net.sourceforge.pmd.lang.java.rule.performance.UseIndexOfCharRule"
|
||||
@ -1059,6 +1071,7 @@ public class FileStuff {
|
||||
</rule>
|
||||
|
||||
<rule name="UselessStringValueOf"
|
||||
language="java"
|
||||
since="3.8"
|
||||
message="No need to call String.valueOf to append to a string."
|
||||
class="net.sourceforge.pmd.lang.java.rule.performance.UselessStringValueOfRule"
|
||||
@ -1080,6 +1093,7 @@ public String convert(int i) {
|
||||
</rule>
|
||||
|
||||
<rule name="UseStringBufferForStringAppends"
|
||||
language="java"
|
||||
since="3.1"
|
||||
message="Prefer StringBuilder (non-synchronized) or StringBuffer (synchronized) over += for concatenating strings"
|
||||
class="net.sourceforge.pmd.lang.java.rule.performance.UseStringBufferForStringAppendsRule"
|
||||
@ -1107,6 +1121,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="UseStringBufferLength"
|
||||
language="java"
|
||||
since="3.4"
|
||||
message="This is an inefficient use of StringBuffer.toString; call StringBuffer.length instead."
|
||||
class="net.sourceforge.pmd.lang.java.rule.performance.UseStringBufferLengthRule"
|
||||
|
@ -9,6 +9,7 @@ Rules that flag potential security flaws.
|
||||
</description>
|
||||
|
||||
<rule name="HardCodedCryptoKey"
|
||||
language="java"
|
||||
since="6.4.0"
|
||||
message="Do not use hard coded encryption keys"
|
||||
class="net.sourceforge.pmd.lang.java.rule.security.HardCodedCryptoKeyRule"
|
||||
@ -33,6 +34,7 @@ public class Foo {
|
||||
</rule>
|
||||
|
||||
<rule name="InsecureCryptoIv"
|
||||
language="java"
|
||||
since="6.3.0"
|
||||
message="Do not use hard coded initialization vector in crypto operations"
|
||||
class="net.sourceforge.pmd.lang.java.rule.security.InsecureCryptoIvRule"
|
||||
|
@ -10,56 +10,67 @@
|
||||
</description>
|
||||
|
||||
<rule name="CycloTest"
|
||||
language="java"
|
||||
message = "''{0}'' has value {1}."
|
||||
class="net.sourceforge.pmd.lang.java.metrics.impl.CycloTestRule">
|
||||
</rule>
|
||||
|
||||
<rule name="NcssTest"
|
||||
language="java"
|
||||
message = "''{0}'' has value {1}."
|
||||
class="net.sourceforge.pmd.lang.java.metrics.impl.NcssTestRule">
|
||||
</rule>
|
||||
|
||||
<rule name="WmcTest"
|
||||
language="java"
|
||||
message = "''{0}'' has value {1}."
|
||||
class="net.sourceforge.pmd.lang.java.metrics.impl.WmcTestRule">
|
||||
</rule>
|
||||
|
||||
<rule name="LocTest"
|
||||
language="java"
|
||||
message = "''{0}'' has value {1}."
|
||||
class="net.sourceforge.pmd.lang.java.metrics.impl.LocTestRule">
|
||||
</rule>
|
||||
|
||||
<rule name="NPathTest"
|
||||
language="java"
|
||||
message = "''{0}'' has value {1}."
|
||||
class="net.sourceforge.pmd.lang.java.metrics.impl.NPathTestRule">
|
||||
</rule>
|
||||
|
||||
<rule name="NopaTest"
|
||||
language="java"
|
||||
message = "''{0}'' has value {1}."
|
||||
class="net.sourceforge.pmd.lang.java.metrics.impl.NopaTestRule">
|
||||
</rule>
|
||||
|
||||
<rule name="NoamTest"
|
||||
language="java"
|
||||
message = "''{0}'' has value {1}."
|
||||
class="net.sourceforge.pmd.lang.java.metrics.impl.NoamTestRule">
|
||||
</rule>
|
||||
|
||||
<rule name="WocTest"
|
||||
language="java"
|
||||
message = "''{0}'' has value {1}."
|
||||
class="net.sourceforge.pmd.lang.java.metrics.impl.WocTestRule">
|
||||
</rule>
|
||||
|
||||
<rule name="TccTest"
|
||||
language="java"
|
||||
message = "''{0}'' has value {1}."
|
||||
class="net.sourceforge.pmd.lang.java.metrics.impl.TccTestRule">
|
||||
</rule>
|
||||
|
||||
<rule name="AtfdTest"
|
||||
language="java"
|
||||
message = "''{0}'' has value {1}."
|
||||
class="net.sourceforge.pmd.lang.java.metrics.impl.AtfdTestRule">
|
||||
</rule>
|
||||
|
||||
<rule name="CfoTest"
|
||||
language="java"
|
||||
message = "''{0}'' has value {1}."
|
||||
class="net.sourceforge.pmd.lang.java.metrics.impl.CfoTestRule">
|
||||
</rule>
|
||||
|
@ -37,6 +37,7 @@ with (object) {
|
||||
</rule>
|
||||
|
||||
<rule name="ConsistentReturn"
|
||||
language="ecmascript"
|
||||
since="5.0"
|
||||
message="A function should not mix 'return' statements with and without a result."
|
||||
class="net.sourceforge.pmd.lang.ecmascript.rule.bestpractices.ConsistentReturnRule"
|
||||
|
@ -10,6 +10,7 @@ Rules which enforce a specific coding style.
|
||||
</description>
|
||||
|
||||
<rule name="DuplicateJspImports"
|
||||
language="jsp"
|
||||
since="3.7"
|
||||
message="Avoid duplicate imports such as ''{0}''"
|
||||
class="net.sourceforge.pmd.lang.jsp.rule.codestyle.DuplicateJspImportsRule"
|
||||
|
@ -33,6 +33,7 @@ Externalized script could be reused between pages. Browsers can also cache the
|
||||
</rule>
|
||||
|
||||
<rule name="NoInlineStyleInformation"
|
||||
language="jsp"
|
||||
since="3.6"
|
||||
message="Avoid having style information in JSP files."
|
||||
class="net.sourceforge.pmd.lang.jsp.rule.design.NoInlineStyleInformationRule"
|
||||
|
@ -44,6 +44,7 @@ through SSL. See http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q261188
|
||||
</rule>
|
||||
|
||||
<rule name="NoUnsanitizedJSPExpression"
|
||||
language="jsp"
|
||||
since="5.1.4"
|
||||
class="net.sourceforge.pmd.lang.jsp.rule.security.NoUnsanitizedJSPExpressionRule"
|
||||
message="Using unsanitized JSP expression can lead to Cross Site Scripting (XSS) attacks"
|
||||
|
@ -10,6 +10,7 @@ Rules that flag potential security flaws.
|
||||
</description>
|
||||
|
||||
<rule name="VfCsrf"
|
||||
language="vf"
|
||||
since="5.6.0"
|
||||
message="Avoid calling VF action upon page load"
|
||||
class="net.sourceforge.pmd.lang.vf.rule.security.VfCsrfRule"
|
||||
@ -26,6 +27,7 @@ Avoid calling VF action upon page load as the action becomes vulnerable to CSRF.
|
||||
</rule>
|
||||
|
||||
<rule name="VfUnescapeEl"
|
||||
language="vf"
|
||||
since="5.6.0"
|
||||
message="Avoid unescaped user controlled content in EL"
|
||||
class="net.sourceforge.pmd.lang.vf.rule.security.VfUnescapeElRule"
|
||||
|
Reference in New Issue
Block a user