컨텐츠로 건너뛰기

작명 규칙

다음의 작명 규칙은 단순히 권장 사항일 뿐이며 완진한 선택 사항입니다. 원하는 작명 규칙을 자유롭게 사용하세요. 일부 예제/문서는 주로 단순성/간결성을 위해 작명 규칙을 따르지 않을 수 있습니다. 이러한 규칙은 개발자가 여러 명인 대규모 프로젝트에 강력히 권장됩니다.

Event 규칙

이벤트는 bloc의 관점에서 이미 발생한 일이므로 과거형으로 이름을 지정해야 합니다.

해부

BlocSubject + 명사 (선택) + 동사 (event)

초기 로드 event는 다음의 규칙을 따라야 합니다: BlocSubject + Started

예시

Good

counter_event.dart
sealed class CounterEvent {}
final class CounterStarted extends CounterEvent {}
final class CounterIncrementPressed extends CounterEvent {}
final class CounterDecrementPressed extends CounterEvent {}
final class CounterIncrementRetried extends CounterEvent {}

Bad

counter_event.dart
sealed class CounterEvent {}
final class Initial extends CounterEvent {}
final class CounterInitialized extends CounterEvent {}
final class Increment extends CounterEvent {}
final class DoIncrement extends CounterEvent {}
final class IncrementCounter extends CounterEvent {}

State 규칙

State는 특정 시점의 스냅샷일 뿐이므로 state는 명사여야 합니다. State를 나타내는 두 가지 일반적인 방법은 하위 클래스를 사용하거나 단일 클래스를 사용하는 것입니다.

해부

하위 클래스

BlocSubject + 동사 (동작) + State

State를 여러 하위 클래스로 표현하는 경우 State는 다음 중 하나여야 합니다:

Initial | Success | Failure | InProgress

단일 클래스

BlocSubject + State

State를 단일 기본 클래스로 표시할 때 BlocSubject + Status라는 enum을 사용하여 다음과 같은 상태를 표시해야 합니다:

initial | success | failure | loading.

예시

Good

하위 클래스
counter_state.dart
sealed class CounterState {}
final class CounterInitial extends CounterState {}
final class CounterLoadInProgress extends CounterState {}
final class CounterLoadSuccess extends CounterState {}
final class CounterLoadFailure extends CounterState {}
단일 클래스
counter_state.dart
enum CounterStatus { initial, loading, success, failure }
final class CounterState {
const CounterState({this.status = CounterStatus.initial});
final CounterStatus status;
}

Bad

counter_state.dart
sealed class CounterState {}
final class Initial extends CounterState {}
final class Loading extends CounterState {}
final class Success extends CounterState {}
final class Succeeded extends CounterState {}
final class Loaded extends CounterState {}
final class Failure extends CounterState {}
final class Failed extends CounterState {}