prefer_typing_uninitialized_variables

prefer_typing_uninitialized_variables

Dart 분석기(analyzer)가 만들어 내는 'prefer_typing_uninitialized_variables' 진단에 대한 설명이에요. 초기화되지 않은 변수에는 명시적인 타입 어노테이션을 붙이라는 규칙이에요.

출처: prefer_typing_uninitialized_variables

본문

설명

분석기는 초기화식(initializer)이 없는 변수에 명시적인 타입 어노테이션이 없으면 이 진단을 만들어 내요.

타입 어노테이션과 초기화식이 모두 없으면 변수는 dynamic 타입을 갖게 되는데, 그러면 변수에 어떤 값이든 할당할 수 있게 되어 찾기 어려운 버그가 생기는 경우가 많아요.

예시

다음 코드는 변수 r에 타입 어노테이션도 초기화식도 없기 때문에 이 진단이 발생해요:

Object f() {
  var r;
  r = '';
  return r;
}

일반적인 수정 방법

변수를 초기화할 수 있다면 초기화식을 추가해요:

Object f() {
  var r = '';
  return r;
}

변수를 초기화할 수 없다면 명시적인 타입 어노테이션을 추가해요:

Object f() {
  String r;
  r = '';
  return r;
}

더 알아보기