G-1080: Avoid using the same expression on both sides of a relational comparison operator or a logical operator.
Minor
Maintainability, Efficiency, Testability
Reason
Using the same value on either side of a binary operator is almost always a mistake. In the case of logical operators, it is either a copy/paste error and therefore a bug, or it is simply wasted code and should be simplified.
This rule ignores operators +
, *
and ||
, and expressions: 1=1
, 1<>1
, 1!=1
, 1~=1
and 1^=1
.
Example (bad)
1 2 3 4 5 6 7 8 |
|
Example (good)
1 2 3 4 5 6 7 |
|