include::../description.adoc[]

== Noncompliant Code Example

[source,go]
----
if b == 0 {  // Noncompliant
  doOneMoreThing()
} else {
  doOneMoreThing()
}

switch i {  // Noncompliant
  case 1: 
    doSomething()
  case 2: 
    doSomething()
  case 3:
    doSomething()
  default: 
    doSomething()
}
----

== Exceptions

This rule does not apply to ``++if++`` chains without ``++else++``-s, or to ``++switch++``-es without ``++default++`` clauses.


----
if b == 0 {    //no issue, this could have been done on purpose to make the code more readable
  doSomething()
} else if b == 1 {
  doSomething()
}
----

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[]
