Files
openide/java/java-impl/resources/inspectionDescriptions/IdempotentLoopBody.html
Leonid Shalupov 40795fe787 IJI-2422: community/java: move resources under resources root
GitOrigin-RevId: 8b2b63fc6db476ca0c2cfe5cadd84db6c4236d0f
2025-02-05 04:43:28 +00:00

22 lines
852 B
HTML

<html>
<body>
Reports loops whose second and all subsequent iterations do not produce any additional side effects other
than the one produced by the first iteration, which can indicate a programming error.
<p>Such loops may iterate only zero, one, or infinite number of times.
If the infinite number of times case is unreachable, such a loop can be replaced with an <code>if</code> statement.
Otherwise, there's a possibility that the program can get stuck.</p>
<p>Example:</p>
<pre><code>
public void foo(String baseName, String names) {
int suffix = 1;
String name = baseName;
while (names.contains(name)) {
// error: suffix is not updated making loop body idempotent
name = baseName + suffix;
}
}
</code></pre>
<!-- tooltip end -->
<p><small>New in 2018.1</small></p>
</body>
</html>