스팀 앱 개발기 #157 - 개발 완료: 추가 개선 4, 5

개발 완료: 추가 개선 4, 5

No. 157
2026. 05. 27 (수) | Written by @dorian-mobileapp

클로드 코드가 답변으로 제안한 개선점 중 4, 5을 이번에 적용했습니다. 클로드가 적용해준 것 외에 추가로 제가 생각한 개선점도 추가로 적용했습니다. 저와 AI의 아이디어 모두 반영하니 좋다는 생각이 드네요.


작업 요약 (개선점 4, 5 이후)

개선점 4 — 데이터 레이어 import 제거

ViewModel 4개

  • TagsViewModel.kt: SteemRepositoryImpl, GetRankedPostParamsDTO, Dispatchers, R 제거 → companion object { const val DEFAULT_RANKED_POSTS_LIMIT = 20 } 추가
  • PostListViewModel.kt: GetAccountPostParamsDTO 제거 → companion object { const val DEFAULT_ACCOUNT_POSTS_LIMIT = 20 } 추가
  • ProfileViewModel.kt: SteemRepositoryImpl, Dispatchers 제거
  • WalletViewModel.kt: SteemRepositoryImpl, Dispatchers 제거

Screen 2개 (Preview 정리)

  • TagsScreen.kt: SteemRepositoryImpl 의존 Preview 3개 제거
  • ProfileScreen.kt: SteemRepositoryImpl 의존 Preview → ProfileContent + ProfileMenu 직접 호출로 교체

개선점 5 — Composition 중 부작용 → LaunchedEffect

파일변경 전변경 후
TagsScreen.ktisFirstStart 플래그 + Composition 중 직접 호출OnLaunch { }
PostListScreen.ktif (state is Empty) { readPosts(); return }OnLaunch { }
ProfileScreen.ktState.Empty 분기에서 직접 호출LaunchedEffect(account) { }
WalletScreen.ktState.Empty 분기에서 직접 호출LaunchedEffect(initialAccount) { }

추가 개선 (사용자 요청)

  • ComposeUtil.kt: OnLaunch 헬퍼 Composable 추가 (LaunchedEffect(Unit) 래핑)
  • TagsViewModel.kt, PostListViewModel.kt: DEFAULT_LIMIT → 각각 DEFAULT_RANKED_POSTS_LIMIT, DEFAULT_ACCOUNT_POSTS_LIMIT 로 리네임

GitHub Commit

보다 자세한 코드는 아래 commit을 참고하세요.


지난 스팀 앱 개발기


Layout provided by Steemit Enhancer hommage by ayogom

Posted using SteemX

Sort:  

Upvoted! Thank you for supporting witness @jswit.

🎉 Congratulations!

Your post has been upvoted by the SteemX Team! 🚀

SteemX is a modern, user-friendly and powerful platform built for the Steem community.

🔗 Visit us: www.steemx.org

✅ Support our work — Vote for our witness: bountyking5

banner.jpg