avoid_init_to_null 진단: null로 초기화하는 중복을 피할 때

avoid_init_to_null 진단: null로 초기화하는 중복을 피할 때

Dart 분석기가 내보내는 진단에는 이름이 있어요. avoid_init_to_nullnullable 변수를 명시적으로 null로 초기화했을 때 Dart 분석기가 알려주는 린트(lint) 진단이에요. 초기화는 불필요한 중복일 뿐이에요.

출처: avoid_init_to_null

본문

설명

분석기는 nullable 변수를 명시적으로 null로 초기화했을 때 이 진단을 만들어요. 변수는 지역 변수(local variable), 필드(field), 최상위 변수(top-level variable)일 수 있어요.

명시적으로 초기화하지 않은 변수나 필드는 자동으로 null로 초기화돼요. Dart에는 "초기화되지 않은 메모리(uninitialized memory)"라는 개념이 없어요.

예시

다음 코드는 변수 f를 명시적으로 null로 초기화했기 때문에 이 진단을 만들어요.

class C {
  int? f = null;

  void m() {
    if (f != null) {
      print(f);
    }
  }
}

흔한 해결 방법

불필요한 초기화를 제거해요.

class C {
  int? f;

  void m() {
    if (f != null) {
      print(f);
    }
  }
}

더 알아보기