resources.report.rules.pmd.AvoidPrefixingMethodParameters.html Maven / Gradle / Ivy
AvoidPrefixingMethodParameters
AvoidPrefixingMethodParameters
Prefixing parameters by ‘in’ or ‘out’ pollutes the name of the parameters and reduces code readability. To indicate whether or not a parameter will be modify in a method, its better to document method behavior with Javadoc.
//MethodDeclaration/MethodDeclarator/FormalParameters/FormalParameter/VariableDeclaratorId[
pmd:matches(@Image,'^in[A-Z].*','^out[A-Z].*','^in$','^out$')
]
Example(s):
// Not really clear
public class Foo {
public void bar(
int inLeftOperand,
Result outRightOperand) {
outRightOperand.setValue(inLeftOperand * outRightOperand.getValue());
}
}
Example(s):
// Far more useful
public class Foo {
/**
*
* @param leftOperand, (purpose), not modified by method.
* @param rightOperand (purpose), will be modified by the method: contains the result.
*/
public void bar(
int leftOperand,
Result rightOperand) {
rightOperand.setValue(leftOperand * rightOperand.getValue());
}
}