Skip to content

chore: 공식 가이드 권장 패턴 일관성 정리 #403

Description

@1hyok

📜 Overview (Required)

공식 아키텍처/코루틴 가이드 권장 대비 경미한 이탈 3건을 일관성 차원에서 정리한다. 모두 low severity 로 동작 변경은 없고, 코드베이스 내 다른 지점의 정준 패턴과 형식을 통일하는 것이 목적.

  1. feature/afternote/.../AfternoteHostViewModel.kt:38isPasskeyRegisteredstateIn(viewModelScope, SharingStarted.Eagerly, null). 같은 코드베이스의 다른 stateIn(MainViewModel, AfternoteDetail/Editor, ReceivedAfternoteDetail, DeliveryVerificationFlow)은 전부 WhileSubscribed(5_000) → 이 한 건만 Eagerly. lifecycle-aware 권장에 맞춰 WhileSubscribed(5_000) 으로 통일.
  2. feature/afternote/domain/.../receiver/ReceiverAfternoteModels.kt — 순수 도메인 모델인데 이름이 AfterNoteListItemDto. 실제 네트워크 DTO 는 data 레이어의 ReceivedAfternoteResponse 이고 mapper 로 변환되므로 누수는 없으나, ReceiverRepository.kt:35·ReceiverAfternoteHomeViewModel.kt:61 까지 Dto 접미사 도메인 타입이 노출돼 도메인/DTO 경계를 이름상 흐림. AfterNoteListItem 등 도메인 명칭으로 rename(시그니처 동반 수정).
  3. app/.../screen/receiver/ReceiverHomeViewModel.kt:54loadHome()viewModelScope.launch 직속에서 async 4개를 띄우고 await. 대상이 모두 Result<T> 반환이라 취소-전파 실버그는 없으나, 동일 모듈 GetHomeSummaryUseCasecoroutineScope { async... } 정준 형식과 불일치 → 병렬 블록을 coroutineScope {} 로 감싸 통일.

📍 Note (Optional)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions