Kotlin/이해하기

[Kotlin] 소스코드 스타일 / 명명 규칙 이해하기

adjh54 2022. 9. 19. 16:42
반응형
해당 글의 목적은 ’코딩 컨벤션' 혹은 ‘코딩 규칙', ‘코딩 표준화'라고 불리며 각각 개발자 마다 다른 코드 스타일에 대해 동일한 ‘코드 작성 스타일'을 통해 ‘코딩 표준화'를 이루는 것을 최종 목표로 합니다.

 

1) Kotlin 코드 스타일(Code Style)


💡 Javascript에서는 Prettier와 같은 기능으로 js 혹은 json 파일로 코드 스타일을 지정 할 수 있었습니다.
Kotlin에서는 Android Studio를 IDE 툴 내에서 코드 스타일을 지정 할 수 있어서 이를 확인합니다.

 

💡 [Android Studio] Preferences… - Editor - Code Style - Kolin을 선택하면 아래와 같이 코드 스타일 확인하고 지정 할 수 있습니다.

 

 

💡 코드 스타일을 별로의 지정 없이 기본적인 Kotlin 환경설정을 사용해도 무방 할 것 같습니다.

 

2) 명명 규칙 (Naming Rules)


💡 소스 코드를 작성하면서 어떠한 스타일로 파일 명 혹은 소스코드의 변수 함수 등의 이름을 구성 할지에 대한 명명 규칙을 구성합니다.

 

1. 명명 규칙의 종류


💡 명명 규칙으로 사용 되는 케이스 종류에 대해서 이해를 목적으로 작성하였습니다.
용어 설명 예시
카멜 케이스(Camel Case) 첫 글자는 소문자로 시작하여 소문자로 작성하며, 구분자를 대문자로 가지고 네이밍을 구성하는 방법 val userId = "adjh54"
파스칼 케이스(Pascal Case) 첫 글자는 대문자로 네이밍을 구성하는 방법 val Userid = "adjh54"
스네이크 케이스(Snake Case)
/ 팟홀 표기법 (Potholes Case)
단어 별로 언더바(_)의 구분자를 가지고 네이밍을 구성하는 방법 val user_id = "adjh54"
케밥 케이스
(Kebab Case)
단어 별로 하이픈(-)의 구분자를 가지고 네이밍을 구성하는 방법 val user-id = "adjh54"
camel case with an uppercase first letter

첫 글자는 대문자로 작성하고 이후 문자는 카멜 케이스의 네이밍을 통해 구성하는 방법 val UserId = "adjh54"
upper case underscore-separated

대문자로 구성하며 언더바(_)를 기반하여 단어 별로 구분자로 구성하는 방법 var USER_ID = "adjh54"

 

2. 명명 규칙 가이드


💡 명명 규칙에 대해서는 Kotlin의 공식사이트의 명명 규칙을 참고하였습니다.
- 명명 규칙 가이드를 사용하는 이유는 어떠한 개발자가 개발 하더라도 해당 변수 혹은 문자열을 이해하기 쉽게 하기 위해서 통일성 있는 코드를 제안합니다.
- 해당 명명 규칙은 파일 혹은 변수 명은 코드가 수행하는 작업을 설명 할 수 있는 이름으로 작성해야 합니다.

 

 
분류 명명 규칙 예시
패키지명 - 패키지를 구성 할 때는 모두 소문자로 사용 package com.example.test.camera
파일명 - 구조: 파스칼 케이스 + 카멜 케이스 사용
- 첫 문자는 대문자, 이후 카멜 케이스로 구성
DeclarationProcessor.kt
클래스명 - 구조: 파스칼 케이스 + 카멜 케이스 사용
- 첫 문자는 대문자, 이후 카멜 케이스로 구성
open class DeclarationProcessor
함수명 - 구조: 카멜 케이스 사용
- 첫 문자는 소문자, 이후 카멜 케이스로 구성
fun processDeclarations()
변수명 - 구조: 카멜 케이스 사용
- 첫 문자는 소문자, 이후 카멜 케이스로 구성
var declarationCount = 1
var isdeclarationCount = false
상수명 - 구조: 대문자 + 스네이크 케이스 사용
- 전체 문자는 대문자로 사용하며 구분자는 언더바(_)로 구성 -
- 상수 값은 object 내부 또는 최상위 선언으로만 정의할 수 있습니다.
- (↔ val 함수와 상이되는 const val 의 경우를 의미한다)
const val MAX_COUNT = 8
val USER_NAME_FIELD = "UserName”
Backing Properties - private 접근 제한자를 가진 변수 명에 대해서는 언더바를 이용하여 구성 class Celebration {
private val _height: Int = 250
val height: Int get() = _height + 5
}

 

[참고] 공식사이트
 

Coding conventions | Kotlin

 

kotlinlang.org

 

오늘도 감사합니다 😀
반응형