본문 바로가기
프로그래밍/Kotlin

코틀린 코딩 컨벤션

by Youngs_ 2021. 6. 22.

구글 공식 문서 : https://kotlinlang.org/docs/coding-conventions.html#function-names

 

Coding conventions | Kotlin

 

kotlinlang.org

 

패키지

항상 소문자이며 밑줄을 사용하지 않는다.

여러 단어로 된 이름을 사용하는것은 권장하지 않지만 여러 단어를 사용해야 할 경우 카멜표기법 사용 권장

 

클래스

첫글자가 대문자인 카멜 표기법 사용

 

함수

함수, 속성, 지역변수의 이름은 소문자와 카멜 표기법을 사용하고 밑줄을 사용하지 않는다.

예외로 클래스 인스턴스를 작성하는데 사용되는 팩토리 함수는 작성하는데 동일한 이름을 가질수 있다.

 

테스트 메소드 명명 규칙

테스트 코드에 한 해, 백틱( ` )으로 묶은 공백이 있는 메소드 이름을 사용할 수 있다. 테스트 코드에서는 밑줄도 허용

class test{ // 테스트코드 명명 규칙 예시
	fun 'test code'() { ... }
	fun test_code() { ... }
}

 

프로퍼티

상수(const, val)의 이름은 밑줄로 구분된 대문자를 사용해야한다.

변경 가능한 객체의 프로퍼티 값은 카멜 표기법을 사용해야한다.

싱글톤 참조 프로퍼티는 객체 선언과 동일하게  이름을 지정할 수 있다.

열거형(Enum)의 경우 사용법에 따라 밑줄로 구분된 이름또는 첫글자가 대문자인 카멜 표기법을 사용하는것이 좋다.

더보기

여담으로 const와 val의 차이는

const는 컴파일 전에 할당이 되고

val을 런타임에 할당이 된다.

 

즉 const는 코드가 컴파일될때, val을 코드가 돌아갈때 할당이 된다

 

백킹 프로퍼티

클래스 내에 동일한 프로퍼티가 2개 있을때, 하나는 공용 APi의 일부이고, 다른 하나는 이에 대한 구현일경우 프로퍼티 앞에 밑줄을 사용

 


좋은 이름 짓기

클래스의 이름은 일반적으로 어떤 클래스인지 설명하는 명사이다.

메소드의 이름은 일반적으로 메소드의 기능을 나타내는 동사이다.

 

또한 이름은 메소드가 오브젝트를 변경하거나 새 오브젝트를 변경한느지 여부에 대해 명시해야한다.

예를들어, sort는 컬렉션을 정렬하고, sorted는 정렬된 복사본을 반환한다.

 

이름에는 목적이 무엇인지 명확하게 들어가야하므로, 의미없는 단어(Manager, Wrapper 등)는 사용하지 않는 것이 좋다.

 

선언 이름을 일부러 약자를 사용하는 경우, 두글자로 구성되면 대문자를, 약자가 길다면 첫글자만 대문자로 입력

 

형식

들여쓰기를 위해 탭을 사용하지 말고 4개의 space를 사용

중괄호{}의 경우, 코드가 시작되는 줄에 여는 괄호를, 같은 레벨 코드 블로그이 수직 아래에 닫는 괄호를 놓는다.

 

이항 연산자 주위에 공백 두기 ( a + b )

 

 

 

 


아래는 이전에 작성한 변수명의 기본적인 작성 규칙입니다.

 

2020.06.23 - [프로그래밍] - 변수명 작성 규칙 (Naming_Rule)

'프로그래밍 > Kotlin' 카테고리의 다른 글

[Kotlin] lateinit, by lazy 차이점  (0) 2021.06.28
안드로이드 액티비티 전환  (0) 2021.06.24
동일성, 동등성 ( ==, ===, equal() 차이)  (0) 2021.06.22
코틀린 에러 모음  (0) 2021.06.09
코틀린 문법 연습  (0) 2021.06.09

댓글