File: LogicalAssignment.md

package info (click to toggle)
error-prone-java 2.18.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 23,204 kB
  • sloc: java: 222,992; xml: 1,319; sh: 25; makefile: 7
file content (16 lines) | stat: -rw-r--r-- 498 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
When an assignment expression is used as the condition of a loop, it isn't clear
to the reader whether the assignment was deliberate or it was intended to be an
equality test. Parenthesis should be used around assignments in loop conditions
to make it clear to the reader that the assignment is deliberate.

That is, instead of this:

```java
void f(boolean x) {
  while (x = checkSomething()) {
    // ...
  }
}
```

Prefer `while ((x = checkSomething())) {` or `while (x == checkSomething()) {`.