Method with multiple return points
Reports methods whose number of return
points exceeds the specified maximum. Methods with too many return
points may be confusing and hard to refactor.
A return
point is either a return
statement or a falling through the bottom of a void
method or constructor.
Example:
The method below is reported if only two return
statements are allowed:
void doSmth(User[] users) {
for (User user : users) {
if (cond1(user)) {
user.setId(getId());
return;
} else if (cond2(user)) {
if (cond3(user)) {
user.setId(getId());
return;
}
}
}
}
Consider rewriting the method so it becomes easier to understand:
void doSmth(User[] users) {
for (User user : users) {
if (cond1(user) || cond2(user) && cond3(user)) {
user.setId(getId());
return;
}
}
}
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
MethodWithMultipleReturnPoints
Configure the inspection:
Use the Return point limit field to specify the maximum allowed number of
return
points for a method.Use the Ignore guard clauses option to ignore guard clauses. A guard clause is an
if
statement that contains only areturn
statementUse the Ignore for 'equals()' methods option to ignore
return
points insideequals()
methods.
Here you can find the description of settings available for the Method with multiple return points inspection, and the reference of their default values.
Inspection Details | |
---|---|
By default bundled with: | |
Can be installed with plugin: | Java, 243.23126 |
Thanks for your feedback!