- UI 구성 : View + ConstraintLayout
- API 통신 : Retrofit2, Okhttp
- 캘린더 : Kizitonwose
- 네비게이션 : Jetpack Navigation
- 비동기 처리 : Kotlin Coroutines
- 안드로이드 스튜디오 Narwhal
- Device: Pixel 9
- minSdk = 26
- targetSdk = 35
- 기능별로 branch 이름 정함 (feature/login)
제목 : [이름/#기능] 브랜치1 → 브랜치2
본문 : 작업 개요 + 변경 사항 + 관련 이슈 + 참고 사항
이슈 + 이슈 상세 내용 + 참고 자료
CamelCase + snake_case 혼합 전략
| 요소 | 표기법 | 예시 |
|---|---|---|
| 클래스, 함수, 변수 | camelCase, UpperCamelCase |
LoginActivity, getUserInfo(), userName |
| 리소스 파일명 | snake_case |
activity_login.xml, ic_arrow_back.xml |
| View ID | camelCase |
btnLogin, etPassword |
상수 (const val) |
UPPER_SNAKE_CASE |
MAX_RETRY_COUNT |
| 종류 | 규칙 | 예시 |
|---|---|---|
| Activity | UpperCamelCase + Activity |
LoginActivity.kt |
| Fragment | UpperCamelCase + Fragment |
SignupFragment.kt |
| ViewModel | UpperCamelCase + ViewModel |
MainViewModel.kt |
| Adapter | UpperCamelCase + Adapter |
UserListAdapter.kt |
| Layout XML | snake_case |
activity_main.xml, fragment_signup.xml |
| Drawable/Color | snake_case |
bg_button_green.xml, color_primary |
- 접두어 + 역할을 나타내는 의미 있는 단어 사용
- camelCase 사용
| View 타입 | 접두어 | 예시 |
|---|---|---|
| TextView | tv |
tvTitle |
| EditText | et |
etEmail |
| Button | btn |
btnSubmit |
| ImageView | iv |
ivProfile |
| RecyclerView | rv |
rvItemList |
| ConstraintLayout | cl |
clContainer |
| 종류 | 형식 | 예시 |
|---|---|---|
| Layout | snake_case |
activity_login.xml |
| Drawable | snake_case |
btn_primary_bg.xml |
| Color | snake_case |
color_primary |
| String | snake_case |
login_error_msg |
| Style | UpperCamelCase |
LoginButtonStyle |
- 모두 대문자 + 밑줄 (
UPPER_SNAKE_CASE) 사용
const val DEFAULT_TIMEOUT = 5000
const val MAX_RETRY_COUNT = 3-
의미 없는 약어 지양:
tvMsg1❌ →tvLoginMessage✅ -
UI 요소는 역할을 명확히 표현:
btnSubmit보단btnLogin,btnSignUp -
공용 리소스 파일 (strings.xml 등) 수정 시 팀원에게 공유 필수
최종 수정일 : 25.7.11