코틀린 & Java

Kotlin 코딩규칙 명명 규칙

코딩하는후운 2021. 7. 7. 13:29
반응형
  • 패키지 이름은 항상 소문자이며 밑줄을 사용하지 않습니다.
    여러 단어로 된 이름을 사용하는 것은 일반적으로 권장되지 않지만 여러 단어를 사용해야 하는 경우 함께 연결하거나 카멜 케이스를 사용할 수 있습니다.(org.example.myProject)
  • 클래스와 객체의 이름은 대문자로 시작하고 카멜 케이스를 사용합니다.
    open class DeclarationProcessor{ /*...*/ }
    object EmptyDeclarationProcessor : DeclarationProcessor() { /*...*/ }

기능 명

함수, 속성 및 지역 변수의 이름은 소문자로 시작하고 카멜 케이스를 사용하고 밑줄은 사용하지 않습니다.

fun processDeclarations() { /*...*/ }

var declarationCount = 1

 

예외 : 클래스의 인스턴스를 만드는 데 사용되는 팩토리 함수는 추상 반환 유형과 동일한 이름을 가질 수 있습니다.

interface Foo { /*...*/ }

class FooImpl : Foo { /*...*/ }

fun Foo() : Foo { return FooImpl() }

 

테스트 방법의 이름

테스트에서 백틱으로 묶인 공백이 있는 메서드 이름을 사용할 수 있습니다.

이러한 메서드 이름은 현재 Android런타임에서 지원되지 않습니다.

메서드 이름의 밑줄도 테스트 코드에서 허용됩니다.

class MyTestCase {

    @Test fun 'ensure everything works'() {/*...*/}

    @Test fun ensureEveryThingWorks_onAndroid() {/*...*/}

}

 

속성 이름

상수 이름(const 또는 변경 불가능한 데이터를 보유하는 val 사용자 지정 get함수가 없는 최상위 수준 또는 개체 속성)은 대문자 밑줄로 구분된 이름(screaming snake case)을 사용해야 합니다.

const val MAX_COUNT = 8

val USER_NAME_FIELD = "UserName"

 

동작 또는 변경 가능한 데이터가 있는 객체를 보유하는 최상위 또는 객체 속성의 이름은 카멜 케이스 이름을 사용해야 합니다.

val mutableCollection : MutableSet<String> = HashSet()

 

싱글톤 객체에 대한 참조를 포함하는 속성의 이름은 object선언과 동일한 이름 지정 스타일을 사용할 수 있습니다.

val PersonComparator : Comparator<Person> = /*...*/

열거형 상수의 경우 enum class Color { RED, GREEN }, 사용법에 따라 대문자 밑줄로 구분된 이름(screaming snake case) 또는 대문자 낙타이름을 사용하는 것이 좋습니다.

 

백업 속성의 이름

클래스에 개념적으로는 동일하지만 공용 API의 일부이고 다른 하나는 구현 세부 사항인 두 개의 특성이 있는 경우, 개인 특성 이름의 접두부로 밑줄을 사용하십시오.

 

class C {

    private val _elementList = mutableListOf<Element>()

    val elementList: List<Element>

        get() = _elementList

}

 

좋은 이름 선택

클래스 이름은 일반적으로 클래스가 무엇인지 설명하는 명사 또는 명사구 입니다. List, PersonReader.

 

방법의 이름은 일반적으로 동사 또는 방법은 무엇을 말하는 동사 구문입니다. close, readPersons.

이름은 또한 메소드가 객체를 변경하는지 또는 새 객체를 반환 하는지를 제안해야 합니다.

ex) sort는 컬렉션을 제자리에서 정렬하고, sorted는 정렬된 복사본을 반환합니다.

 

이름은 엔티티의 목적이 무엇인지 명확히 해야 하므로 이름에 의미없는 단어(Manager, Wrapper)를 사용하지 않는 것이 가장 좋습니다.

 

선언 이름의 일부로 두 문자어를 사용하는 경우 두 글자(IOStream)로 구성된 경우 대문자로 표시합니다.

더 긴 경우 첫 글자만 대문자로  표기합니다.(XmlFormatter, HttpInputStream)

 

 

참조 :

https://kotlinlang.org/docs/coding-conventions.html#function-names

 

 

 

반응형

'코틀린 & Java' 카테고리의 다른 글

스트림 함수  (0) 2021.08.04
Kotlin 코딩규칙 서식  (0) 2021.07.07
Kotlin 코딩규칙 소스 코드 구성  (0) 2021.07.07
메모리 구조(static, stack, heap)  (0) 2021.03.29
Multi Thread(멀티 스레드)  (0) 2021.03.26