rspec/rules/S126/go/rule.adoc

48 lines
892 B
Plaintext

== Why is this an issue?
include::../description.adoc[]
=== Noncompliant code example
[source,go]
----
if x == 0 {
doSomething()
} else if x == 1 {
doSomethingElse()
}
----
=== Compliant solution
[source,go]
----
if x == 0 {
doSomething()
} else if x == 1 {
doSomethingElse()
} else {
return errors.New("unsupported int")
}
----
=== Exceptions
When all branches of an ``++if++``-``++else if++`` end with ``++return++`` or ``++break++``, the code that comes after the ``++if++`` implicitly behaves as if it was in an ``++else++`` clause. This rule will therefore ignore that case.
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]