prefer_const_declarations 진단: 상수로 초기화되는 final 변수에는 const를 쓸 때

prefer_const_declarations 진단: 상수로 초기화되는 final 변수에는 const를 쓸 때

최상위 변수나 static 필드, 지역 변수가 final로 선언됐는데 상수 값으로 초기화되고 있으면 Dart 분석기가 알려주는 린트(lint) 진단이에요. 어차피 값이 상수라면 final보다 const가 더 정확한 표현이에요.

출처: prefer_const_declarations

본문

설명

분석기는 최상위 변수, static 필드, 또는 지역 변수가 final로 표시되고 상수 값으로 초기화될 때 이 진단을 만들어요.

예시

다음 코드는 최상위 변수 vfinal이면서 상수 값으로 초기화돼서 이 진단을 만들어요.

final v = const <int>[];

다음 코드는 static 필드 ffinal이면서 상수 값으로 초기화돼서 이 진단을 만들어요.

class C {
  static final f = const <int>[];
}

다음 코드는 지역 변수 vfinal이면서 상수 값으로 초기화돼서 이 진단을 만들어요.

void f() {
  final v = const <int>[];
  print(v);
}

흔한 해결 방법

키워드 finalconst로 바꾸고 초기화식에서 const를 제거하면 돼요.

class C {
  static const f = <int>[];
}

더 알아보기