use_if_null_to_convert_nulls_to_bools — boolean 비교는 `??` 연산자로

use_if_null_to_convert_nulls_to_bools — boolean 비교는 ?? 연산자로 (폐기됨)

null이 될 수 있는 불리언(bool?)을 조건식에서 쓸 때는 일일이 == true처럼 비교하는 대신 ?? 연산자로 기본값을 채우는 게 깔끔해요. 이 규칙은 현재 폐기(Deprecated)된 상태예요.

출처: use_if_null_to_convert_nulls_to_bools

본문

Effective Dart 가이드에서도 소개되는 내용인데, null을 불리언으로 변환할 때는 ?? 연산자를 쓰라고 권장해요.

BAD:

if (nullableBool == true) {
}
if (nullableBool != false) {
}

GOOD:

if (nullableBool ?? false) {
}
if (nullableBool ?? true) {
}

nullableBool == true처럼 비교하면 null인 경우를 하나하나 따져야 해서 헷갈리기 쉬워요. nullableBool ?? false처럼 쓰면 null일 때 기본값이 무엇인지 한눈에 드러나요.

더 알아보기

규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 use_if_null_to_convert_nulls_to_bools를 추가하면 돼요.

linter:
  rules:
    - use_if_null_to_convert_nulls_to_bools

YAML 맵 문법으로 규칙을 설정한다면 linter > rules 아래에 use_if_null_to_convert_nulls_to_bools: true를 쓰면 돼요.

linter:
  rules:
    use_if_null_to_convert_nulls_to_bools: true