이름 없는 생성자는 이름 있는 것보다 먼저 선언해요
이름 없는 생성자는 이름 있는 것보다 먼저 선언해요
클래스에 생성자가 여러 개라면, 이름 없는(unnamed) 생성자를 맨 앞에 두는 게 읽기 좋아요. 다른 생성자들은 팩토리나 이름 있는 생성자로 이어가면 되죠.
본문
이름 없는 생성자 선언을 이름 있는 생성자보다 먼저 정렬하세요.
나쁜 예:
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
더 알아보기
- Dart linter rules — 다른 린트 규칙들 살펴보기