생성자에서 불필요한 타입 이름

생성자에서 불필요한 타입 이름 (unnecessary_type_name_in_constructor)

이 문서는 Dart 분석기(analyzer)가 만들어 내는 unnecessary_type_name_in_constructor 진단(diagnostic)에 대해 설명해요. 본문 안(bodies) 생성자 선언에 타입 이름이 포함되어 있을 때 분석기가 이 진단을 알려 줘요. 어떤 경우에 발생하는지, 어떻게 고치는지 함께 알아볼게요.

출처: unnecessary_type_name_in_constructor

본문

설명

분석기는 본문 안(bodies) 생성자 선언에 타입 이름이 포함되어 있으면 이 진단을 만들어 내요. 생성자 선언에서 타입 이름은 필요하지 않아요.

예시

다음 코드는 생성형(generative) 생성자 선언에 타입 이름이 포함되어 있기 때문에 이 진단을 만들어 내요.

class C {
  C();
}

다음 코드는 팩토리(factory) 생성자 선언에 타입 이름이 포함되어 있기 때문에 이 진단을 만들어 내요.

class C {
  factory C() => C._();

  new _();
}

일반적인 해결 방법

생성자에서 타입 이름을 제거해 주세요. 생성자에 이름이 있다면, 이름 앞의 마침표도 함께 제거해 주세요.

class C {
  new();
}

또는

class C {
  factory() => C._();

  new _();
}

더 알아보기