This product is not supported for your selected Datadog site. ().

Metadata

ID: swift-code-style/same-condition

Language: Unknown

Severity: Notice

Category: Code Style

Description

This rule encourages developers to replace multiple consecutive if statements that compare the same value with a switch statement. Using a switch provides clearer intent, improves readability, and makes the control flow easier to follow when handling multiple discrete cases of a single variable.

To comply with this rule, identify sequences of if or else if conditions that test the same variable against different values and refactor them into a single switch statement. This practice leads to cleaner, more maintainable, and idiomatic Swift code. For example, instead of writing if x == 1 { } else if x == 2 { }, use switch x { case 1: ... case 2: ... }.

Non-Compliant Code Examples

class Foo {
    func bar(plop: Int) {
        if plop == 1 {

        } else if plop == 2 {

        } else if plop == something {

        }
    }
}

Compliant Code Examples

class Foo {
    func bar(plop: Int) {
      // no else here, this example is non-sensical and should not pass
      if (x == 3) {
        if (x == 4) {
            // something
        }
      }
    }
}
class Foo {
    func bar(plop: Int) {
        switch plop {
            case 1:
                // something
            case 2:
                // something else
            default:
                // something else as well
        }
    }
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Security