== Why is this an issue?

include::../description.adoc[]

include::../noncompliant.adoc[]

=== Exceptions

This rule will not raise an issue in either of these cases:

* When the condition is a single ``++final boolean++``

----
final boolean debug = false;
//...
if (debug) {
  // Print something
}
----

* When the condition is literally ``++true++`` or ``++false++``.

----
if (true) {
  // do something
}
----

In these cases it is obvious the code is as intended.

== Resources

* CWE - https://cwe.mitre.org/data/definitions/570[CWE-570 - Expression is Always False]
* CWE - https://cwe.mitre.org/data/definitions/571[CWE-571 - Expression is Always True]
* https://wiki.sei.cmu.edu/confluence/x/5dUxBQ[CERT, MSC12-C.] - Detect and remove code that has no effect or is never executed

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::../message.adoc[]

include::../highlighting.adoc[]

'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
