HomePostsSearch
KeyFlow LogoKEYLOW
BETAv2026.03.14

Compose 함수는 어떤 조건으로 나누는것이 좋을까?(Stateful, stateless)

Taehwan kwon (theo)Taehwan kwon (theo)
about 1 month ago(Edited)
14 min read

단 하나의 Composable 함수가 300줄을 넘어갈 때, 당신의 코드는 과연 지속 가능할까요?

·거대해진 Monolithic Composable 함수는 코드 가독성을 해치고 새로운 화면 추가 시 기존 로직 수정을 복잡하게 만든다.
·Scaffold, Navigation, 그리고 각 화면의 비즈니스 로직을 명확한 경계 없이 혼재하여 작성하는 방식은 지양해야 한다.
·정답은 없지만 스크린 단위나 컴포넌트 단위 등 팀만의 일관된 분리 규칙을 정립하는 것이 프로젝트 유지보수의 핵심이다.
SeriesPart 6 of 7

Android Compose

View All
Previous
Compose Navigation - WebView Recomposition 해결?
Next
안드로이드 Theme와 GetStream Theme를 알아보고 CompositionLocalProvider의 역할을 알아본다.(GetStream 후원글)

On this page

  • 이 글에서 알아볼 내용
  • 발표 자료
  • 풀 코드를 통해 함수를 분리해 보자
  • 어떤 식으로 분리할까?
  • 위 코드를 몇 가지로 나눠보자
  • HomeScreen 분리
  • Stateful versus stateless
  • Stateful
  • Stateless
  • 다시 돌아와서
  • Preview의 장점
  • Screen에 맞는 Components 분리
  • EditMode
  • EditMode Preview
  • ViewMode
  • ViewMode - Preview
  • Tip
  • 몇 가지 알아두면 좋을 것
  • 함수는 어디까지 나누는 게 맞을까?
  • Modifier의 위치
  • Modifier를 적용할 때는
  • Container에 따른 Modifier 위치는?
  • 디자인 컴포넌트
  • Button Components
  • 마무리
Taehwan kwon (theo)

Taehwan kwon (theo)

@taehwandev

[안녕하세요, 태환입니다] 글쓰기 플랫폼 KeyFlow의 운영과 개발을 총괄하고 있는 태환입니다. 사용자가 생각에 집중할 수 있는 환경을 만들기 위해 플랫폼인 키플로우 전체의 기획부터 배포, 관리를 리딩하고 있습니다.

[경험 및 전문성]

  • KeyFlow Management: 서비스의 전반적인 운영을 책임지고 있습니다.
  • Mobile Engineering: 안드로이드와 iOS 플랫폼 모두에서 안정적이고 매끄러운 사용자 경험을 구현합니다. 기기의 특성에 최적화된 에디터와 기능을 개발하는 데 강점이 있습니다.
  • Openness & Stability: 플랫폼의 개방성을 확대하면서도, 시스템의 안정성을 놓치지 않는 균형 잡힌 개발 철학을 추구합니다.

[목표] 단순한 기능 구현을 넘어, 전 세계 사용자가 언어의 장벽 없이 소통할 수 있는 글로벌 플랫폼으로 KeyFlow를 성장시키는 것이 저의 목표입니다.

기술 스택 요약 (Tech Summary)

  • Mobile: Android (Kotlin/Java), iOS (Swift)
  • Highlight: GitHub Gist Integration, AI Language Detection, Cross-platform Optimization
kotlin
1
2
3
4
5
data class User(
  val name: String = "taehwan",
  val bio: String = "Android, iOS",
  val nickName: String = "Theo",
)
Next: 안드로이드 Theme와 GetStream Theme를 알아보고 CompositionLocalProvider의 역할을 알아본다.(GetStream 후원글)
Was this helpful?Your support means a lot to the author.
Home
Posts
Inbox