질문 정리

깔끔한 코드를 위해서 Ktlint 사용

five2week 2024. 1. 30. 18:57

원래는 안드로이드 스튜디오의 세팅에서 Actions on Save에 있는 자동 import와 format 기능을 사용하고 있었는데 자동 정렬 때문에 느려지는 느낌을 받았고, format의 경우 프로젝트 단위가 아니라 파일 단위로 되었기 때문에 klint를 사용해보려고합니다.

 

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

 

Ktlint의 장점

  1. 코드 일관성: Ktlint는 Kotlin 공식 코딩 컨벤션을 기반으로 하며, 프로젝트 전체에서 일관된 코드 스타일을 강제합니다. 이는 코드의 가독성을 향상시키고, 팀 내에서 코드 리뷰 과정을 용이하게 합니다.
  2. 사용의 용이성: Ktlint는 설치가 간단하며, 명령어를 통해 쉽게 실행할 수 있습니다. Gradle 플러그인을 통해 프로젝트에 쉽게 통합할 수 있으며, IDE 통합도 가능하여 개발 과정에서 실시간으로 코드 스타일 검사를 수행할 수 있습니다.
  3. 자동 수정 기능: Ktlint에는 ktlintFormat 태스크가 포함되어 있어, 스타일 위반을 자동으로 수정할 수 있습니다. 이는 개발자가 수동으로 코드를 수정하는 시간을 절약할 수 있게 해줍니다.
  4. 커스터마이징 가능: Ktlint는 기본적으로 Kotlin 공식 코딩 컨벤션을 따르지만, .editorconfig 파일을 통해 프로젝트별로 커스텀 규칙을 설정할 수 있습니다.

 

build.gradle.kts(Project)

plugins {
    // 기존 플러그인들...
    id("org.jlleitschuh.gradle.ktlint") version "12.1.0" apply false
}

 

build.gradle.kts(App)

plugins {
    // 기존 플러그인들...
    id("org.jlleitschuh.gradle.ktlint")
}

 

Ktlint 태스크 실행

Ktlint 설정이 완료되면, 다음과 같은 Gradle 태스크를 통해 코드 스타일 검사와 자동 포맷을 실행할 수 있습니다:

  • 코드 스타일 검사: 터미널에서 ./gradlew ktlintCheck를 실행하여 프로젝트의 Kotlin 코드에 대한 스타일 검사를 수행합니다.
  • 코드 자동 포맷: ./gradlew ktlintFormat을 실행하여 스타일 검사에서 발견된 문제들을 가능한 한 자동으로 수정합니다.

이러한 설정을 통해 프로젝트에 Ktlint를 성공적으로 적용하고, 코드의 일관성과 가독성을 향상시킬 수 있습니다.