Loops can be simplified or removed

이 페이지는 아직 한국어로 제공되지 않으며 번역 작업 중입니다. 번역에 관한 질문이나 의견이 있으시면 언제든지 저희에게 연락해 주십시오.

Metadata

ID: java-best-practices/while-loop-with-literal-boolean

Language: Java

Severity: Notice

Category: Best Practices

Description

Using do {} while (true); makes it less obvious that the loop runs forever, since the loop condition is placed after the loop body. By using while (true) {}, your code clearly indicates an infinite loop from the beginning.

The do {} while (false); construct is redundant and may cause confusion too. In a do-while loop, the loop body is executed first, and then the condition is checked. Since the condition while (false) always evaluates to false, the loop exits after one iteration. When an inner variable scope is required within this loop, a simple block {} can be used instead of the do-while construct.

Unlike the do {} while (false); above, the while (false) {} construct represents dead code because the loop condition here is evaluated first and the body will never execute. Removing unnecessary loops here can enhances your code’s readability and maintainability.

Non-Compliant Code Examples

public class Foo {
  {
    while (false) { }
    do { } while (true);
    do { } while (false);
    do { } while (false | false);
    do { } while (false || false);
  }
}

Compliant Code Examples

public class Foo {
  {
    while (true) { }
  }
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis