Skip to content

Android convention

yuri edited this page Nov 24, 2025 · 3 revisions

layout id 규칙

@+id/tv_login
@+id/et_password
@+id/btn_login

view 이름

  • TextView -> tv_
  • ImageView -> iv_
  • EditText -> et_
  • Button, ImageButton -> btn_
  • ConstraintLayout -> cl_
  • LinearLayout -> ll_
  • BottonNavitaionView -> bnv_

layout 파일명

snake_case를 적용한다.

  • activity_기능: activity_login
  • fragment_기능: fragment_home
  • item_기능: item_user

drawable 파일명

역시 xml 이기 때문에 snake_case를 적용한다. 자세한 내용은 아래를 참고한다.

  • icon은 “ic_” -> ic_error
  • image는 “img_” -> img_default_user
  • shape는 “shape_” -> shape_border_radius10
  • selector는 “selector_” -> selector_edittext_background

아이콘 이름 규칙

ic_기능_모양

  1. 화살표 같은 경우는 ic_arrow_방향 -> ic_back, ic_like
  2. 선택 여부가 있는 아이콘은 ic_기능_모양과 ic_기능_모양_selected 로 구분
  3. 색은 안넣어도 될 거 같습니다 왜냐 코드에서 tint로 변경 가능 각자 변경해서 쓰기 ....

클래스 파일명

UpperCamelCase 적용 하기 MainActivity.kt, UserViewModel.kt, WriteFragment.kt, UserInfo.kt

함수명

동사형태로 작성하고, lowerCamelCase 적용하기
fun showList(), fun updateContacts()

변수명

명사형태로 작성하고, lowerCamelCase 적용
isEnd(Boolean 타입 제외), viewPagerAdapter

더미데이터 이름 규칙

recyclerview 이름_숫자 -> post_1, post_2

코드 주석 규칙 (kt 파일에 사용)

  1. 코드 위에 어떤 기능인지 설명 ex) 파이어베이스 연결, 좋아요 기능
  2. 공통적으로 사용하는 변수를 제외한 애들은 선언 옆에 // 이 주석을 사용해서 설명해주기
  3. 화면 전환 시 어느 화면에서 어느 화면으로 넘어가는지 설명
  4. 자세하게 써주기

ViewModel 상태 관리 컨벤션

UiState 구성 원칙

  • UI에서 관찰해야 하는 값만 UiState에 포함한다.
  • ViewModel 내부 로직에서만 사용되는 값(비교, 임시 저장 등)은 UiState가 아닌 ViewModel 내부의 private 변수로 관리한다.