Redundant boolean literals should be removed from expressions to improve readability.
Code examples
Noncompliant code example
if condition == true { /* ... */ } // Noncompliant
if condition != false { /* ... */ } // Noncompliant
if condition && true { /* ... */ } // Noncompliant
if condition || false { /* ... */ } // Noncompliant
doSomething(!false) // Noncompliant
doSomething(condition == true) // Noncompliant
v = condition ? true : false // Noncompliant
v = condition ? true : exp // Noncompliant
v = condition ? false : exp // Noncompliant
v = condition ? exp : true // Noncompliant
v = condition ? exp : false // Noncompliant
Compliant solution
if condition { /* ... */ }
if condition { /* ... */ }
if condition { /* ... */ }
if condition { /* ... */ }
doSomething(true)
doSomething(condition)
v = condition
v = condition || exp
v = !condition && exp
v = !condition || exp
v = condition && exp
Exceptions
Expression statements are ignored.
expect(value) == true // ignored