코틀린 코딩 컨벤션 (Kotiln Coding Convention)
사실 코틀린은 공식 페이지에서 코딩컨벤션을 제안하고 있다.
특히 기본적으로 코틀린 스타일 가이드를 적용하라고 시작하는데 그걸 인텔리제이에 적용해볼 것이다.
https://kotlinlang.org/docs/coding-conventions.html#naming-rules
스타일 가이드 적용
내가 쓰고 있는 IDE인 Intellj에서는 코드포맷을 맞출수 있는 기능이 있다.
Preferences(단축키 : cmd + , ) > Editor > Coding Style > Kotlin > 오른쪽 상단에 Set form.. > Kotlin Style Guide 선택
그럼 알아서 코딩 컨벤션 스타일이 변경된다.
사실 알아서라기보단 reformat을 적용해야하는건데,
나같은 경우는 계속 적용이 안되는것 같아서 직접 keymap(단축키)를 지정해줬다.
이제 이거다!! cmd + ^ + . 이 단축키를 누르면 자동으로 컨벤션이 적용된다.
그럼 예를 들어 스크립트에 val a=1 이렇게 되어 있으면 val a = 1 이런식으로 (띄어쓰기가 달라졌쥬?) 자동으로 이 틀이 맞춰진다.
참고로 이건 꿀팁인데 현재 코드에 스타일 가이드가 어긋난 부분이 있으면 따로 마크해주는 기능이 있다.
Preferences(단축키 : cmd + , ) > Editor > Inspections > Kotiln > Style Issues 펼치기
> File is not formatted according to project settings 체크선택 > 왼쪽에 serverity에서 원하는 경고레벨로 설정
이제 코딩컨벤션을 좀 잘 지켜야하니까 나는 좀 높은 경고레벨로 선택했다.
그러면 코드를 작성하면서 에디터에서 경고를 띄워준다. 이제 이렇게 되면 컨벤션은 무조건 지키겟다! 후후
참고로, 경고를 구분하기 위해서 커스텀 serverity를 만들었다. 이제 나는 코딩컨벤션에 어긋나면 파란밑줄이 나온다!
이 외에도 코틀린 공식문서에서 지정해둔 코딩 컨벤션 내용이 있다. 기본적인 몇가지만 기록해봤다.
- 소스코드 파일은 어디에 저장하는가? 기본패키지 밑에 있어야한다.
- 소스코드 파일 이름은 어떻게 정하는가? 클래스이름과 파일이름이 같아야한다.
- 소스파일의 구조는 어떻게 잡는가? 밀접하게 관련이 있는것들끼리 같은 파일로 잡는다.
- 클래스 구조는 어떻게 정의하는가? 속성선언>초기화블록 > 부생성자>메소드>컴패니언 객체 순으로 선언한다.
- 인터페이스는 어떻게 구현하는가? 인터페이스에 선언된 순서대로 클래스에서 구현한다.
- 네이밍 방식은?
- 패키지이름은 _를 사용하지 않은 알파벳 소문자
- 클래스, 전역객체 , 함수, 메소드, 변수이름은 첫자리가 대문자인 camlCase방식으로
- 불변하는 속성(val 선언변수값)은 _를 사용한 알파벳 대문자
- 함수구조는?
- 표준스타일에선 함수인자가 120자를 넘어가면 멀티라인
- retun만 할경우 return 지시어를 생략한 단일함수를 선호한다. (fun foo() = 1 // good)
참고
'🍃 Language > Kotiln' 카테고리의 다른 글
[Kotlin] 코틀린 기본문법2 (NULL처리 : lateinit/lazy/!!/?/?.) (0) | 2022.01.30 |
---|---|
[Kotlin] 코틀린 실행하기 - Scratch File (스크래치 파일) 만들기 (0) | 2022.01.30 |
[Kotlin]🐘빌드도구(Build Tool), Gradle과 Maven 차이점 (0) | 2022.01.30 |
[Kotlin] 코틀린 기본문법1 (변수선언/함수선언/자료형/반복문/조건문) (0) | 2022.01.29 |
[Kotlin] ⚡️코틀린 특징 - 코틀린이란? 도대체 왜 쓰는가? (0) | 2022.01.29 |
[Kotlin] 코틀린 Spring boot로 HelloWorld API 만들기 (0) | 2022.01.28 |