피드로 돌아가기
Dev.toFrontend
원문 읽기
LLM의 Legacy API 생성 방지를 통한 Modern Android 아키텍처 강제화
CLAUDE.md for Android and Jetpack Compose: 13 Rules That Make AI Write Modern, Production-Ready Android Code
AI 요약
Context
AI 모델이 15년 이상의 방대한 Android API 학습 데이터로 인해 XML 및 AsyncTask 등 구형 패턴을 혼용하여 생성하는 문제 발생. 단순 Lint 통과 수준을 넘어 최신 아키텍처 가이드라인을 준수하는 Production-Ready 코드 생성 환경 구축 필요.
Technical Solution
- Jetpack Compose 전용 UI 설계를 통한 XML View 시스템 및 ViewBinding 완전 배제
- ViewModel 기반의 State Hoisting 구조를 통해 UI Layer의 비즈니스 로직 제거 및 Immutable UiState 관리
- StateFlow와 collectAsStateWithLifecycle을 통한 생명주기 인식 상태 관리 및 Channel 기반의 One-time Event 처리
- Kotlin Coroutines 기반의 suspend 함수와 Flow를 적용하여 RxJava 및 Callback 지옥으로 인한 리소스 누수 방지
- Hilt 기반의 Dependency Injection 체계를 통해 Manual DI의 복잡성을 제거하고 객체 생명주기 및 스코프 최적화
- Repository Pattern과 Room을 통한 Single Source of Truth 구현 및 네트워크 데이터 동기화 구조 설계
실천 포인트
- AI 프롬프트에 CLAUDE.md 형태의 강제 제약 사항(Constraints) 파일 포함 여부 검토 - UI 상태 정의 시 sealed class/data class 기반의 Immutable UiState 적용 확인 - ViewModel 내 상태 노출 시 StateFlow 사용 및 UI 단의 Lifecycle-aware collection 구현 - DI 설정 시 @HiltViewModel 및 @InstallIn 스코프 적정성 검증 - 비동기 처리 시 GlobalScope 배제 및 viewModelScope 활용 여부 체크