unnecessary_const_in_enum_constructor 린트 규칙: enum 생성자에서 불필요한 const 피하기
unnecessary_const_in_enum_constructor 린트 규칙: enum 생성자에서 불필요한 const 피하기
unnecessary_const_in_enum_constructor은 generative enum 생성자에 명시적인 const를 써놓은 경우를 알려주는 린트 규칙이에요. generative enum 생성자는 자동으로 const 취급되기 때문에, 굳이 const 키워드를 붙일 필요가 없어요.
본문
설명
generative enum 생성자에 명시적인 const를 사용하지 마세요. generative enum 생성자는 이미 **암시적으로 const**라서, const를 붙이면 중복이 돼요. 이 규칙은 Dart 3.13에서 추가됐어요.
BAD:
enum const E(final int i) {
a(1), b(2);
}
enum E {
a(1), b(2);
const E(this.i);
final int i;
}
GOOD:
enum E(final int i) {
a(1), b(2);
}
enum E {
a(1), b(2);
E(this.i);
final int i;
}
enum의 생성자는 원래 자동으로 const니까, 위처럼 const를 붙이지 않아도 같은 의미를 그대로 갖게 돼요. 중복된 const만 지워주면 코드가 더 깔끔해져요.
활성화 방법
unnecessary_const_in_enum_constructor 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 규칙을 추가하면 돼요.
linter:
rules:
- unnecessary_const_in_enum_constructor
대신 YAML 맵 문법을 사용해서 린트 규칙을 설정하고 있다면, linter > rules 아래에 unnecessary_const_in_enum_constructor: true를 추가하면 돼요.
linter:
rules:
unnecessary_const_in_enum_constructor: true