63 lines
1.4 KiB
Plaintext
63 lines
1.4 KiB
Plaintext
== Why is this an issue?
|
|
|
|
Redundant boolean literals should be removed from expressions to improve readability.
|
|
|
|
=== Code examples
|
|
|
|
==== Noncompliant code example
|
|
|
|
[source,swift,diff-id=1,diff-type=noncompliant]
|
|
----
|
|
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
|
|
|
|
[source,swift,diff-id=1,diff-type=compliant]
|
|
----
|
|
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.
|
|
|
|
[source,swift]
|
|
----
|
|
expect(value) == true // ignored
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
include::../message.adoc[]
|
|
|
|
'''
|
|
|
|
endif::env-github,rspecator-view[]
|