초기화되지 않은 변수에는 타입을 명시하세요

초기화되지 않은 변수에는 타입을 명시하세요

초기화되지 않은 변수와 필드에는 타입 어노테이션을 명시하는 린트 규칙이에요. 타입을 빼버리면 실수로 다른 타입의 값을 넣을 수 있으니까요. 함께 볼게요.

출처: prefer_typing_uninitialized_variables

본문

초기화되지 않은 변수와 필드에는 타입 어노테이션을 명시하는 걸 권장해요.

초기화되지 않은 변수에 타입 어노테이션을 빼먹는 건 좋지 않은 습관이에요. 원래 의도하지 않았던 타입의 값을 실수로 할당할 수 있기 때문이에요.

BAD:

class BadClass {
  static var bar; // LINT
  var foo; // LINT

  void method() {
    var bar; // LINT
    bar = 5;
    print(bar);
  }
}

BAD:

void aFunction() {
  var bar; // LINT
  bar = 5;
  ...
}

GOOD:

class GoodClass {
  static var bar = 7;
  var foo = 42;
  int baz; // OK

  void method() {
    int baz;
    var bar = 5;
    ...
  }
}

켜는 방법

prefer_typing_uninitialized_variables 규칙을 사용하려면 analysis_options.yaml 파일의 linter > rules 아래에 prefer_typing_uninitialized_variables를 추가해요:

linter:
  rules:
    - prefer_typing_uninitialized_variables

만약 YAML 맵 문법으로 린트 규칙을 설정한다면 linter > rules 아래에 prefer_typing_uninitialized_variables: true를 추가하면 돼요:

linter:
  rules:
    prefer_typing_uninitialized_variables: true

더 알아보기