unnecessary_const 린트 규칙: const 문맥에서 불필요한 const 피하기
unnecessary_const 린트 규칙: const 문맥에서 불필요한 const 피하기
unnecessary_const은 이미 const 문맥 안에 있는데 const 키워드를 또 반복해서 쓰고 있을 때 알려주는 린트 규칙이에요. const 컨텍스트 안에서는 값이 자동으로 상수가 되기 때문에, 안쪽 표현식에까지 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();에서 a가 const로 선언됐으니 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