The needless repetition of an operator is usually a typo. There is no reason to write !!!i
when !i
will do.
On the other hand, the repetition of increment and decrement operators may have been done on purpose, but doing so obfuscates the meaning, and
should be simplified.
This rule raises an issue for sequences of: !
, ~
, -
, and +
.
Noncompliant Code Example
int i = 1;
int j = - - -i; // Noncompliant; just use -i
int k = ~~~i; // Noncompliant; same as i
int m = + +i; // Noncompliant; operators are useless here
boolean b = false;
boolean c = !!!b; // Noncompliant
Compliant Solution
int i = 1;
int j = -i;
int k = ~i;
int m = i;
boolean b = false;
boolean c = !b;
Exceptions
Overflow handling for GWT compilation using ~~
is ignored.