unnecessary_const_in_enum_constructor 린트 규칙: enum 생성자에서 불필요한 const 피하기

unnecessary_const_in_enum_constructor 린트 규칙: enum 생성자에서 불필요한 const 피하기

unnecessary_const_in_enum_constructorgenerative enum 생성자에 명시적인 const를 써놓은 경우를 알려주는 린트 규칙이에요. generative enum 생성자는 자동으로 const 취급되기 때문에, 굳이 const 키워드를 붙일 필요가 없어요.

출처: unnecessary_const_in_enum_constructor

본문

설명

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

더 알아보기