prefer_typing_uninitialized_variables
prefer_typing_uninitialized_variables
Dart 분석기(analyzer)가 만들어 내는 '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;
}