이름 없는 생성자는 이름 있는 것보다 먼저 선언해요

이름 없는 생성자는 이름 있는 것보다 먼저 선언해요

클래스에 생성자가 여러 개라면, 이름 없는(unnamed) 생성자를 맨 앞에 두는 게 읽기 좋아요. 다른 생성자들은 팩토리나 이름 있는 생성자로 이어가면 되죠.

출처: sort_unnamed_constructors_first

본문

이름 없는 생성자 선언을 이름 있는 생성자보다 먼저 정렬하세요.

나쁜 예:

class _PriorityItem {
  factory _PriorityItem.forName(bool isStatic, String name, _MemberKind kind) => ...
  _PriorityItem(this.isStatic, this.kind, this.isPrivate);
  ...
}

좋은 예:

abstract class CancelableFuture<T> implements Future<T>  {
  factory CancelableFuture(computation()) => ...
  factory CancelableFuture.delayed(Duration duration, [computation()]) => ...
  ...
}

활성화 방법

sort_unnamed_constructors_first 규칙을 사용하려면 analysis_options.yaml 파일의 linter > rules 아래에 sort_unnamed_constructors_first를 추가하면 돼요:

linter:
  rules:
    - sort_unnamed_constructors_first

린트 규칙을 YAML 맵 문법으로 설정한다면, linter > rules 아래에 sort_unnamed_constructors_first: true를 추가하면 되고요:

linter:
  rules:
    sort_unnamed_constructors_first: true

더 알아보기