All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sonar.l10n.go.rules.go.S126.html Maven / Gradle / Ivy

The newest version!

Why is this an issue?

This rule applies whenever an if statement is followed by one or more else if statements; the final else if should be followed by an else statement.

The requirement for a final else statement is defensive programming.

The else statement should either take appropriate action or contain a suitable comment as to why no action is taken. This is consistent with the requirement to have a final default clause in a switch statement.

Noncompliant code example

if x == 0 {
	doSomething()
} else if x == 1 {
	doSomethingElse()
}

Compliant solution

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.





© 2015 - 2025 Weber Informatics LLC | Privacy Policy