unnecessary_const 린트 규칙: const 문맥에서 불필요한 const 피하기

unnecessary_const 린트 규칙: const 문맥에서 불필요한 const 피하기

unnecessary_const이미 const 문맥 안에 있는데 const 키워드를 또 반복해서 쓰고 있을 때 알려주는 린트 규칙이에요. const 컨텍스트 안에서는 값이 자동으로 상수가 되기 때문에, 안쪽 표현식에까지 const를 또 붙일 필요가 없어요.

출처: unnecessary_const

본문

설명

const 문맥 안에서 const 키워드를 반복해서 쓰는 것을 피하세요. 이미 const로 선언된 곳이나 const 리스트 안에서는 그 하위 값들도 자동으로 상수가 되니까, 일일이 const를 다시 붙이지 않아도 돼요.

BAD:

class A { const A(); }
m(){
  const a = const A();
  final b = const [const A()];
}

GOOD:

class A { const A(); }
m(){
  const a = A();
  final b = const [A()];
}

const a = A();에서 aconst로 선언됐으니 A()는 자동으로 상수 생성자가 돼요. 또 const [A()]에서 리스트가 const니까 그 안의 A()도 자동으로 상수가 되죠. 그래서 안쪽의 const는 지워도 의미가 전혀 달라지지 않아요.

활성화 방법

unnecessary_const 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 규칙을 추가하면 돼요.

linter:
  rules:
    - unnecessary_const

대신 YAML 맵 문법을 사용해서 린트 규칙을 설정하고 있다면, linter > rules 아래에 unnecessary_const: true를 추가하면 돼요.

linter:
  rules:
    unnecessary_const: true

더 알아보기