불필요한 new 키워드 규칙
불필요한 new 키워드 규칙 (unnecessary_new)
인스턴스를 만들 때 굳이 new 키워드를 쓰고 있진 않은지 잡아 주는 린트 규칙이에요. 모던 Dart에서는 생성자 호출에 new가 필수가 아니거든요. 이미 오래전부터 기본이 된 관례라서, 예전 스타일에 익숙한 분들이라면 특히 눈여겨볼 만해요.
출처: unnecessary_new
본문
인스턴스를 만들 때 new 키워드는 피하세요.
먼저 좋지 않은 예를 볼게요. new A()처럼 new를 붙여서 인스턴스를 만들고 있어요.
class A {
A();
}
m() {
final a = new A();
}
new를 빼고 이렇게 쓰는 게 훨씬 깔끔해요.
class A {
A();
}
m() {
final a = A();
}
생성자 이름으로 바로 호출해도 충분하니까요.
활성화하기
unnecessary_new 규칙을 켜려면 analysis_options.yaml 파일의 linter > rules 아래에 unnecessary_new를 추가하면 돼요.
linter:
rules:
- unnecessary_new
린트 규칙을 설정할 때 YAML 맵 문법을 쓰고 있다면, linter > rules 아래에 unnecessary_new: true처럼 넣어 주면 돼요.
linter:
rules:
unnecessary_new: true
더 알아보기
- 이 규칙은 현재 권장(Recommended) 단계로, 자동 수정(Fix)이 제공돼요.
- 반대 방향으로 "항상
const를 쓰자"는prefer_const_constructors같은 규칙과 함께 보면 생성자 스타일을 일관되게 잡아 줄 수 있어요.