- Kotlin : 주 사용 언어
- View Binding : 레이아웃 연결
- Data Binding : 데이터 연결
- LayoutInflater : 핀 요약 정보 출력
- Kakao Map API : 지도 기능 구현
- Coroutine : 비동기 작업 중 상태 업데이트트
- EditText : 사용자 입력 처리
- Retrofit2 : API 연결
- Social Login : Kakao 로그인
- DropDown Spinner : 날짜 선택 기능 구현 시 사용
- Other Tools | Notion, Figma
- 배포용: main
- 개발용: develop
- 작업용: 커밋 유형/#이슈번호-설명 (feature/#3-로그인레이아웃)
Class & Interface
: Upper Camel Case
-
ex) LoginActivity, PokeService
Composable 함수
: Upper Camel Case -
ex) OnboardingPage, OnboardingPageTitle
함수와 변수
: Lower Camel Case -
initXXX() : 초기화 함수 이름
- init[View]ClickListener : 클릭 리스너 설정
- init[NameView]Adapter : 리사이클러뷰 어댑터 설정
fun **initPresentAdapter**(){ binding.nameRv.adapter = PresentAdapter() }
- updateXXX() : 갱신 함수 이름
- removeXXX() : 삭제 함수 이름
- setupXXX() : ViewModel을 observe()할 때 모아놓는 함수 이름
- getXXX() : Return이 있는 데이터를 불러올때 함수 이름
- findXXX() : 특정 객체를 찾는 함수 이름
- 복수형을 가져올때는 뒤에 s를 붙인다: getBrands() 꼴
- Raw 값으로부터 enum을 찾을 때 함수 이름은
find()
로 한다. - 서버 통신 함수
- getXXX() → getUserList()
- deleteXXX() → deleteUser()
- putXXX() → putProfile()
- postXXX() → postMusic()
- 양식 | [커밋 유형(전부 대문자)] 이슈 내용
- 예시 | [FEAT] 추억 등록하기 UI 구현
- 양식
- PR 타입
- 기능 추가
- 기능 삭제
- 버그 수정
- 의존성, 환경 변수, 빌드 관련 코드 업데이트
- 반영 브랜치 ex) feat/#9-카카오로그인구현 -> develop
- 변경 사항 [변경 내용 작성]
- 테스트 결과 [구현 화면 첨부]
- 커밋 유형 : 첫 글자만 영어 대문자로 작성
- Feat : 새로운 기능 추가
- Fix : 버그 수정
- Remove : 파일, 코드 삭제 또는 기능 삭제
- Refactor : 코드 리팩토링
- Style : 코드 스타일 수정
- Test : 테스트 코드 추가/수정
- 커밋 메세지
- 양식 | 커밋 유형 : 간단한 코드 설명 (#이슈 번호)
- 예시 | git commit -m "Feat : 카카오 로그인 기능 구현 (#9)
- 그 외 규칙
- 제목과 본문을 빈행으로 분리
- 커밋 유형 이후 제목과 본문은 한글로 작성하여 내용이 잘 전달될 수 있도록 할 것
- 본문에는 변경한 내용과 이유 설명 (어떻게보다는 무엇 & 왜를 설명)
- 제목 첫 글자는 대문자로, 끝에는
.
금지 - 제목은 영문 기준 50자 이내로 할 것
- 자신의 코드가 직관적으로 바로 파악할 수 있다고 생각하지 말자
- 여러가지 항목이 있다면 글머리 기호를 통해 가독성 높이기
📁 ProjectRoot/
│
├── 📁 app/ # 메인 애플리케이션 폴더
│ ├── 📁 src/ # 소스 코드 폴더
│ │ ├── 📁 main/ # 메인 소스 코드
│ │ │ ├── 📁 java/ # Java/Kotlin 코드
│ │ │ │ ├── 📁 com.example.app/ # 패키지 네임스페이스
│ │ │ │ │ ├── MainActivity.kt # 메인 액티비티
│ │ │ │ │ ├── 📁 ui/ # UI 관련 코드
│ │ │ │ │ ├── 📁 model/ # 데이터 모델
│ │ │ │ │ ├── 📁 repository/ # 데이터 관리
│ │ │ │ │ ├── 📁 utils/ # 유틸리티 클래스
│ │ │ ├── 📁 res/ # 리소스 폴더 (XML, 이미지 등)
│ │ │ │ ├── 📁 layout/ # 레이아웃
│ │ │ │ ├── 📁 font/ # 폰트
│ │ │ │ ├── 📁 drawable/ # 이미지, 아이콘
│ │ │ │ ├── 📁 values/ # 스타일, 문자열, 컬러
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── themes.xml
│ │ │ └── AndroidManifest.xml # 매니페스트 파일
│ │
│ └── 📁 test/ # 테스트 코드 (필요하면 추가)
│
└── 📁 gradle/ # Gradle 관련 설정