prefer_is_not_operator: 타입이 아님을 확인할 땐 `is!` 연산자를 써요

prefer_is_not_operator: 타입이 아님을 확인할 땐 is! 연산자를 써요

"이 객체가 이 타입이 아닌지"를 확인할 때 !(foo is Foo)처럼 괄호와 느낌표를 섞으면 읽기 불편해요. prefer_is_not_operator 린터 규칙은 이럴 때 is! 연산자를 쓰도록 알려주는 규칙이에요.

출처: Prefer is! operator

본문

Details

객체가 특정 타입이 아닌지 확인할 때는 !로 부정하는 방식보다 is! 연산자를 쓰는 게 좋아요.

BAD:

if (!(foo is Foo)) {
  ...
}

GOOD:

if (foo is! Foo) {
  ...
}

Enable

prefer_is_not_operator 규칙을 켜려면 analysis_options.yaml 파일의 linter > rules 아래에 prefer_is_not_operator를 추가해요.

linter:
  rules:
    - prefer_is_not_operator

대신 YAML 맵(map) 문법으로 린터 규칙을 설정하고 있다면 linter > rules 아래에 prefer_is_not_operator: true를 추가해요.

linter:
  rules:
    prefer_is_not_operator: true

더 알아보기