-
Notifications
You must be signed in to change notification settings - Fork 5
컨벤션
K_Gs edited this page Dec 6, 2022
·
1 revision
feature : 기능 개발
design : 디자인 변경시
bug : 버그 발견
learned: 배운점
refactor: 리팩토링
doc: 문서
### 날짜
## 오늘의 한일
내용을 적어주세요.
## 오늘의 회고
내용을 적어주세요.
## 배운점
내용을 적어주세요.
## 내일 할일
내용을 적어주세요.
깃플로우 참고
https://techblog.woowahan.com/2553/
브랜치 이름 규칙 : feature/기능_기능
머지된 이후에는 작업브랜치 삭제
커밋메세지 컨벤션
ex ) feat : ~~ 구현 #이슈번호
- 제목 줄은
"유형 : #이슈번호 제목"
의 형식으로 작성한다. -
커밋 메시지 유형은 다음 중 하나를 사용한다
-
feat
기능 추가, 삭제, 변경 (코드 수정 발생) -
fix
버그를 고친 경우 (코드 수정 발생) -
refactor
코드 리팩토링 (코드 수정 발생) -
test
테스트 코드 추가, 삭제 변경 (코드 수정 없음. 테스트 코드에 관련된 모든 변경) -
docs
문서 추가, 삭제 변경 (코드 수정 없음) -
chore
빌드 스크립트 수정, 패키지 배포 설정 변경 등 (코드 수정 없음), 리포맷
-
TextView → tv_
ImageView → iv_
Button → btn_
layout → container_
View → view_프래그먼트이름_설명
layout → fragment(activity)_이름
include_
item_
기능이름_레이아웃이름_기타 (permission_login_message)
- 하나의 함수에 하나의 일만 하기
when (value) {
0 -> return
// …
}
if (string.isEmpty())
return // WRONG!
if (string.isEmpty()) {
return // Okay
}
빈 블록 또는 블록 형식 구문은 K&R 스타일이어야 합니다.
try {
doSomething()
} catch (e: Exception) {} // WRONG!
try {
doSomething()
} catch (e: Exception) {
} // Okay
표현식으로 사용되는 if/else
조건문에서는 전체 표현식이 한 줄에 들어가는 경우에만 중괄호를 생략할 수 있습니다.
val value = if (string.isEmpty()) { // Okay
0
} else {
1
}
함수에 표현식이 하나만 포함되는 경우 [표현식 함수](https://kotlinlang.org/docs/reference/functions.html#single-expression-functions)로 표현될 수 있습니다.
override fun toString(): String {
return "Hey"
}
override fun toString(): String = "Hey"
상수 이름에는 UPPER_SNAKE_CASE(모두 대문자)를 사용하며 밑줄로 단어를 구분합니다.
상수가 아닌 이름은 camelCase로 작성됩니다. 이는 인스턴스 속성, 로컬 속성, 매개변수 이름에 적용됩니다.
패키지 이름은 모두 소문자이며 연속 단어는 밑줄 없이 연결됩니다.
// Okay
package com.example.deepspace
// WRONG!
package com.example.deepSpace
// WRONG!
package com.example.deep_space
- 클래스 내부에서 코드 배치
- 순서
- 프로퍼티 선언, init 블록
- 부생성자
- 메서드 선언
- companion object
- 코드를 위아래로 읽을 때 로직을 따라갈 수 있게 관련된 것은 연달아 배치
- nested 클래스는 그 클래스를 사용하는 곳 바로 다음에 선언
- 외부에서만 사용되면 companion object 다음에 배치
- 순서
- 커스텀 클래스 리스트(e.g. List<Position)의 확장 함수는 해당하는 커스텀 클래스와 같은 파일에 선언
- 이외의 확장 함수는 Ext.kt에 선언
- 람다 중첩 사용시 모든 파라미터명 반드시 바꾸기
- 파라미터 모두 한줄에 쓰거나 모두 줄바꿈
pr 템플릿
## Main Changes
- 한 일 1
- 한 일 2
## Issue
- 고민한 내용
- Main Changes에 대한 부가설명(선택사유)
## Screenshots
- 내용을 적어주세요.