초기화되지 않은 변수에는 타입을 명시하세요
초기화되지 않은 변수에는 타입을 명시하세요
초기화되지 않은 변수와 필드에는 타입 어노테이션을 명시하는 린트 규칙이에요. 타입을 빼버리면 실수로 다른 타입의 값을 넣을 수 있으니까요. 함께 볼게요.
본문
초기화되지 않은 변수와 필드에는 타입 어노테이션을 명시하는 걸 권장해요.
초기화되지 않은 변수에 타입 어노테이션을 빼먹는 건 좋지 않은 습관이에요. 원래 의도하지 않았던 타입의 값을 실수로 할당할 수 있기 때문이에요.
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
더 알아보기
- Linter rules — Dart 린트 규칙 전체 목록
- analysis_options.yaml — 린트 설정 파일 작성법