경제적 자유를 위해

열심히 살아보자

개발/Kotlin

[Kotlin CS] 코틀린 코딩 컨벤션 (Kotlin Coding conventions, Android coding style, Kotlin Code Style official)

따식 2023. 11. 4. 10:57
728x90

IDE에서 스타일 가이드 적용

  • 설정 /기본 설정 | 편집자 | 코드 스타일 | 코틀린 설정 클릭
  • Kotlin 스타일 가이드를 선택

인터페이스 구현 레이아웃

인터페이스를 구현할 때 구현 멤버를 인터페이스 멤버와 동일한 순서로 유지한다
(필요한 경우 구현에 사용되는 추가 전용 메서드와 함께 배치)

interface FragmentNavigation {

    fun pushFragment(fragment: Fragment)

    fun replaceFragment(fragment: Fragment)

    fun addFragment(fragment: Fragment)
}

구현부에서도 순서대로 작성해라

override fun pushFragment(fragment: Fragment) {
       //
}

override fun replaceFragment(fragment: Fragment) {
      //
}

override fun addFragment(fragment: Fragment) {
      //
}

함수 이름

함수, 변수는 소문자로 시작하고 카멜기법으로 사용한다.

fun test() { /*...*/ }
var test = 1

테스트 코드 함수 이름

테스트에서 백틱으로 묶인 공백과 함께 메서드 이름을 사용할 수 있으며. 밑줄도 허용된다.

class MyTestCase {
     @Test fun `따식이의 테스트코드`() { /*...*/ }

     @Test fun 따식이의_테스트코드() { /*...*/ }
}

프로퍼티 이름

const는 스네이크 기법으로 사용한다.

const val MAX_COUNT = 8
val USER_NAME_FIELD = "UserName"

기본은 카멜기법

val mutableCollection: MutableSet<String> = HashSet()

백킹 프로퍼티 이름

class C {
    private val _elementList = mutableListOf<Element>()

    val elementList: List<Element>
         get() = _elementList
}

조건문

코틀린에선 when문을 추천한다.

return when(x) {
    0 -> "zero"
    else -> "nonzero"
}

아래 형식보다 위 형식이 더 바람직하다

if (x)
    return foo()
else
    return bar()
when(x) {
    0 -> return "zero"
    else -> return "nonzero"
}

범위의 루프

루프문에서 연산자를 적극 사용하자.
아래의 예제처럼 -1보다  ..< 개방형 범위를 사용하는것을 권장하고 있다.

for (i in 0..n - 1) { /*...*/ }  // bad
for (i in 0..<n) { /*...*/ }  // good

2023.10.27 - [개발/Kotlin] - [Kotlin CS] 코틀린 - 관용어

728x90