본문 바로가기
kotlin/insight

intellij에서 ktlint를 사용해 Kotlin 컨벤션 준수하기

by 코드 이야기 2023. 2. 7.
728x90

 

컨벤션과 ktlint

대화를 할 때 최소한의 단어만 있다면 어느정도 의사소통은 가능합니다.

하지만 맞춤법, 문법과 같은 것들이 추가되면 더 많은 양의 내용들을 문장에 담을 수 있습니다.

반대로 맞춤법, 문법과 같은 것들이 지켜지지 않는다면, 읽기 싫고 잘못 이해되기 쉬운 문장이 됩니다.

 

마찬가지로 코드를 통해 개발자의 의사를 명확하고 이해하기 쉽게 전달하고자 한다면

국어에서의 맞춤법 문법과 같은 컨벤션(규칙)을 지켜줘야 합니다.

 

아래의 kotlin 언어의 규칙, git commit 메시지의 규칙 등과 같은 것들이 있습니다.

https://kotlinlang.org/docs/coding-conventions.html#control-flow-statements

 

Coding conventions | Kotlin

 

kotlinlang.org

https://gist.github.com/stephenparish/9941e89d80e2bc58a153

 

AngularJS Git Commit Message Conventions

AngularJS Git Commit Message Conventions. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

하지만 사람이기에 기억하지 못하는 부분이 있을 수도 있고, 실수로 컨벤션을 지키지 못하게될 수도 있습니다.

 

따라서, 깃허브에 올려주기 전 컨벤션 규칙준수되었는지 확인해주는 역할을 하는 것이 ktlint입니다.

 

 

 

ktlintApplyToIdea

kotlin 스타일(규칙) 파일을 생성해 idea(intellij)에 적용시킵니다.

성공적으로 적용이 된 것을 확인할 수 있습니다.

 

 

 

ktlintCheck

idea에 적용된 컨벤션준수되었는지 확인하는 역할을 해줍니다.

성공적으로 적용이 된 것을 확인할 수 있습니다.

 

 

 

addKtlintCheckGitPreCommitHook

git에 커밋을 하기 전, idea에 적용된 컨벤션이 준수되었는지 확인하고, 

컨벤션이 준수되지 않은 부분이 있다면 커밋을 막습니다.

성공적으로 적용이 된 것을 확인할 수 있습니다.

 

 

 


참고

https://github.com/JLLeitschuh/ktlint-gradle

 

GitHub - JLLeitschuh/ktlint-gradle: A ktlint gradle plugin

A ktlint gradle plugin. Contribute to JLLeitschuh/ktlint-gradle development by creating an account on GitHub.

github.com

https://github.com/pinterest/ktlint

 

GitHub - pinterest/ktlint: An anti-bikeshedding Kotlin linter with built-in formatter

An anti-bikeshedding Kotlin linter with built-in formatter - GitHub - pinterest/ktlint: An anti-bikeshedding Kotlin linter with built-in formatter

github.com

 

 

 

 

 

728x90

댓글