-
Notifications
You must be signed in to change notification settings - Fork 0
Coding Detail Convention
이소연 edited this page Jan 11, 2025
·
1 revision
- 파일의 기본 순서:
- 패키지 선언
- import 문
- 상수 및 전역 변수
- 클래스 또는 함수 정의
- 클래스 내 선언 순서:
companion object- 프로퍼티
- 생성자
- 메소드
- 대부분의 경우 Java code convention을 따름
- 4 spaces 사용, 탭은 사용하지 않는다.
- 중괄호의 경우 구성 시작 부분의 끝줄에 여는 중괄호를 입력하고 열린 구성과 수직적으로 정렬된 별도의 줄을 닫는 중괄호를 입력한다.
- 세미콜론은 선택사항이지만 생략하는 것을 권장
if (elements != null) {
for (element in elements) {
// ...
}
}
- 연산자 앞, 뒤에 공백을 추가한다.
- a + b, a / b
- 예외
- “range to” 연산 주위에도 공백을 넣지 말아야 한다. (0..I)
- 단항 연산 주위에도 공백을 넣지 말아야 한다. (a++)
- 중괄호 앞에 공백을 추가한다.
- if, when, for and while
- 괄호 앞에는 공백을 추가하지 않는다.
class A(val x: Int)
fun foo(x: Int) { ... }
fun bar() {
foo(1)
}
- (, [ 뒤에 또는 ), ] 전에 공백을 추가하지 않는다.
- . 또는 ?. 주위에 공백을 추가하지 않는다.
foo.bar().filter { it > 2 }.joinToString()
foo?.bar()
- 주석 // 뒤에 공백을 추가한다.
// 주석을 추가한다.
- 매우 간단한 읽기 전용 속성의 경우 한 줄 형식을 고려하도록 한다.
val isEmpty: Boolean get() = size == 0
- 복잡한 속성의 경우 항상 get 및 set 키워드를 별도의 줄에 넣는다.
val foo: String
get() { /*...*/ }
- initializer가 있는 속성의 경우 initializer가 길면 등호 다음에 줄 바꿈을 추가하고 initializer를 4칸만큼 들여쓴다.
private val defaultCharset: Charset? =
EncodingRegistry.getInstance().getDefaultCharsetForPropertiesFiles(file)