브랜치명 | 폴더명 | 파일명 | 설명 | API | |
---|---|---|---|---|---|
feature/login | login | LoginActivity | login 패키지로 생성 후, Kotlin class로 파일 생성 - ComponentActivity 상속 |
||
LoginScreen | 로그인 페이지 | ||||
LoginButton | 로그인 버튼(재사용) | ||||
GlobalApplication | |||||
login/social | KakaoLoginHandler | 카카오 로그인 | |||
login/social | NaverLoginHandler | 네이버 로그인 | |||
login/social | GoogleLoginHandler | 구글 로그인 | |||
feature/home | home | HomeActivity | 메인 페이지 | ||
HomeScreen | |||||
feature/home | profile | ProfileScreen | 유저 프로필 모달 - textfield 키보드 자동으로 안내려가는 문제 미해결 | ||
feature/home | ranking | RankingScreen | 랭킹 모달 | ||
feature/stats | stats | StatsActivity | 통계 페이지 - api 호출 | ||
StatsScreen | |||||
DayStatsScreen | 일별 통계 - 인원에 따른 배경 이미지 크기, 난이도에 따른 보스 이미지 | ||||
WeekStatsScreen | 주별 통계 | ||||
MonStatsScreen | 월별 통계 | ||||
StatsDetailScreen | 통계 세부 모달 - 일별 통계에서 확인 가능 | ||||
api/RetrofitInstance | builder (=client) | ||||
api/DailyDataClass | 일별 data class | ||||
api/WeekMonDataClass | 주별/월별 data class | ||||
api/StatsAPI | service | ||||
api/StatsViewModel | viewModel | ||||
feature/game | game | GameroomActivity | 게임 방 선택 페이지 | ||
GameroomScreen | |||||
MatchingActivity | 랜덤 매칭 중 페이지 | ||||
MatchingScreen | |||||
LoadingActivity | 방 생성 후 대기 중 페이지 | ||||
LoadingScreen | |||||
JoiningActivity | 코드 입력 후 대기 중 페이지 | ||||
JoiningScreen | |||||
InfoScreen | 보스 정보 모달 | ||||
GameplayActivity | 게임 플레이 페이지 | ||||
GameplayScreen | |||||
feature/result | result | MultiWinScreen | 멀티 - 승리 모달 | ||
MultiLoseScreen | 멀티 - 패배 모달 | ||||
SingleWinScreen | 싱글 - 승리 모달 | ||||
SingleLoseScreen | 싱글 - 패배 모달 | ||||
feature/wear | wear | MainActivity | 워치 메인 화면 | ||
RunningActivity | 게임중 달리기 데이터 화면 | ||||
ResultActivity | 결과 안내 화면 | ||||
ItemActivity | 게임중 아이템 공격 화면 | ||||
wear/view | CircularItemGauge | 아이템 게이지, 보스 게이지 | |||
feature/socket | socket | SocketHandler | 소켓 관련 |
소문자, 언더바로 연결
폴더명_icon/btn/bg/img/gif_적당한이미지이름
ex) login_icon_kakao
ex) all_img_whitecat (공통 캐릭터는 all)
btn - ok, start 버튼 등의 배경 image
bg - 배경화면
icon - 홈 버튼, 랭킹 버튼, 정보 버튼 등
img - 캐릭터 사진
gif - 움직이는 사진
분류 | 명명 규칙 | 예시 |
---|---|---|
패키지명 | • 패키지를 구성할 때는 모두 소문자로 사용 | package com.example.test.camera |
파일명 | • 구조: 파스칼 케이스 + 카멜 케이스 사용 | |
• 첫 문자는 대문자, 이후 카멜 케이스로 구성 | DeclarationProcessor.kt | |
클래스명 | • 구조: 파스칼 케이스 + 카멜 케이스 사용 | |
• 첫 문자는 대문자, 이후 카멜 케이스로 구성 | open class DeclarationProcessor | |
함수명 | • 구조: 카멜 케이스 사용 | |
• 첫 문자는 소문자, 이후 카멜 케이스로 구성 | fun processDeclarations() | |
composable 함수명 | • 구조: 파스칼 케이스 + 카멜 케이스 사용 | |
• 첫 문자는 대문자, 이후 카멜 케이스로 구성 | @Composable | |
fun DateDialog() | ||
변수명 | • 구조: 카멜 케이스 사용 | |
• 첫 문자는 소문자, 이후 카멜 케이스로 구성 | var declarationCount = 1 | |
var isdeclarationCount = false | ||
상수명 | • 구조: 대문자 + 스네이크 케이스 사용 | |
• 전체 문자는 대문자로 사용하며 구분자는 언더바(_)로 구성 | ||
• 상수 값은 object 내부 또는 최상위 선언으로만 정의할 수 있음 | ||
• (↔ val 함수와 상이되는 const val 의 경우를 의미한다) | const val MAX_COUNT = 8 | |
val USER_NAME_FIELD = "UserName” | ||
Backing Properties | • private 접근 제한자를 가진 변수 명에 대해서는 언더바를 이용하여 구성 | class Celebration { |
private val _height: Int = 250 | ||
val height: Int get() = _height + 5 | ||
} |
<aside> <img src="/icons/info-alternate_red.svg" alt="/icons/info-alternate_red.svg" width="40px" />
https://developer.android.com/kotlin/style-guide?hl=ko
</aside>