Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 

200 righe
5.0 KiB

<?xml version="1.0"?>
<ruleset
name="Liferay rules"
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd"
>
<description>
Selected standard rules from PMD out of box rule sets. Please refer to the origin rule set file, rule name and version info for future update.
</description>
<rule
class="com.liferay.pmd.rules.junit.AssertFailJUnitRule"
language="java"
message="Do not call Assert#fail improperly."
name="AssertFailJUnitRule"
since="0.1">
<description>
Detect when Assert#fail is called improperly.
</description>
<priority>3</priority>
<example>
<![CDATA[
@Test
public void test() {
try {
// ...
}
catch (Exception e) {
Assert.fail();
}
}
]]>
</example>
<example>
<![CDATA[
@Test
public void test() {
Assert.fail();
}
]]>
</example>
</rule>
<rule
class="net.sourceforge.pmd.lang.java.rule.basic.BooleanInstantiationRule"
externalInfoUrl="http://pmd.sourceforge.net/snapshot/pmd-java/rules/java/basic.html#BooleanInstantiation"
message="Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead."
name="BooleanInstantiation"
since="1.2"
>
<description>
[Origin rule set file rulesets/java/basic.xml] Avoid instantiating Boolean objects; you can reference Boolean.TRUE, Boolean.FALSE, or call Boolean.valueOf() instead.
</description>
<priority>2</priority>
<example>
<![CDATA[
// Poor, unnecessary creation, just reference Boolean.TRUE
new Boolean("true");
// Poor, unnecessary creation, just reference Boolean.FALSE
Boolean.valueOf(false);
]]>
</example>
</rule>
<rule
class="com.liferay.pmd.rules.java.OverrideBothEqualsAndHashcodeRule"
externalInfoUrl="http://pmd.sourceforge.net/snapshot/pmd-java/rules/java/basic.html#OverrideBothEqualsAndHashcode"
language="java"
message="Ensure you override both equals() and hashCode()"
name="OverrideBothEqualsAndHashcode"
since="0.4"
>
<description>
[Origin rule set file rulesets/java/basic.xml] Override both public boolean Object.equals(Object other), and public int Object.hashCode(), or override neither. Even if you are inheriting a hashCode() from a parent class, consider implementing hashCode and explicitly delegating to your superclass.
</description>
<priority>3</priority>
<example>
<![CDATA[
// Poor, missing a hashcode() method
public class Bar {
public boolean equals(Object object) {
return true;
}
}
// Poor, missing an equals() method
public class Baz {
public int hashCode() {
return 0;
}
}
// Perfect, both methods are provided
public class Foo {
public boolean equals(Object object) {
return true;
}
public int hashCode() {
return 0;
}
}
]]>
</example>
</rule>
<rule
class="net.sourceforge.pmd.lang.java.rule.unnecessary.UnnecessaryReturnRule"
externalInfoUrl="http://pmd.sourceforge.net/snapshot/pmd-java/rules/java/unnecessary.html#UnnecessaryReturn"
message="Avoid unnecessary return statements"
name="UnnecessaryReturn"
since="1.3"
>
<description>
[Origin rule set file rulesets/java/unnecessary.xml] Avoid the use of unnecessary return statements.
</description>
<priority>3</priority>
<example>
<![CDATA[
public class Foo {
public void bar() {
int x = 42;
return;
}
}
]]>
</example>
</rule>
<rule
class="net.sourceforge.pmd.lang.java.rule.unnecessary.UselessOperationOnImmutableRule"
externalInfoUrl="http://pmd.sourceforge.net/snapshot/pmd-java/rules/java/unnecessary.html#UselessOperationOnImmutable"
message="An operation on an Immutable object (String, BigDecimal or BigInteger) won't change the object itself"
name="UselessOperationOnImmutable"
since="3.5">
<description>
[Origin rule set file rulesets/java/unnecessary.xml] An operation on an Immutable object (String, BigDecimal or BigInteger) won't change the object itself since the result of the operation is a new object. Therefore, ignoring the operation result is an error.
</description>
<priority>3</priority>
<example>
<![CDATA[
BigDecimal bigDecimal = new BigDecimal(10);
// Poor, useless operation
bigDecimal.add(new BigDecimal(5));
// Perfect, useful operation
bigDecimal = bigDecimal.add(new BigDecimal(5));
]]>
</example>
</rule>
<rule
class="net.sourceforge.pmd.lang.java.rule.unusedcode.UnusedLocalVariableRule"
externalInfoUrl="http://pmd.sourceforge.net/pmd-5.2.3/pmd-java/rules/java/unusedcode.html#UnusedLocalVariable"
language="java"
message="Avoid unused local variables such as ''{0}''."
name="UnusedLocalVariable"
since="0.1">
<description>
[Origin rule set file rulesets/java/unusedcode.xml] Detects when a local variable is declared and/or assigned, but not used.
</description>
<priority>3</priority>
<example>
<![CDATA[
public class Foo {
public void doSomething() {
// Poor, unused local variable
int i = 5;
}
}
]]>
</example>
</rule>
</ruleset>