prefer_const_declarations 진단: 상수로 초기화되는 final 변수에는 const를 쓸 때
prefer_const_declarations 진단: 상수로 초기화되는 final 변수에는 const를 쓸 때
최상위 변수나 static 필드, 지역 변수가 final로 선언됐는데 상수 값으로 초기화되고 있으면 Dart 분석기가 알려주는 린트(lint) 진단이에요. 어차피 값이 상수라면 final보다 const가 더 정확한 표현이에요.
본문
설명
분석기는 최상위 변수, static 필드, 또는 지역 변수가 final로 표시되고 상수 값으로 초기화될 때 이 진단을 만들어요.
예시
다음 코드는 최상위 변수 v가 final이면서 상수 값으로 초기화돼서 이 진단을 만들어요.
final v = const <int>[];
다음 코드는 static 필드 f가 final이면서 상수 값으로 초기화돼서 이 진단을 만들어요.
class C {
static final f = const <int>[];
}
다음 코드는 지역 변수 v가 final이면서 상수 값으로 초기화돼서 이 진단을 만들어요.
void f() {
final v = const <int>[];
print(v);
}
흔한 해결 방법
키워드 final을 const로 바꾸고 초기화식에서 const를 제거하면 돼요.
class C {
static const f = <int>[];
}