If the same logic is truly needed for both instances, then:

* in an `if` chain they should be combined

[source,go,diff-id=1,diff-type=compliant]
----
if (a >= 0 && a < 10) || (a >= 20 && a < 50) {
	doFirstThing()
	doSomething()
} else if a >= 10 && a < 20 {
	doSomethingElse()
} else {
	doTheRest()
}
----

* for a `switch`, the values should be put in the `case` expression list.

[source,go,diff-id=2,diff-type=compliant]
----
switch i {
case 1, 3:
	doFirstThing()
	doSomething()
case 2:
	doSomethingElse()
default:
	doTheRest()
}
----