Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 정보처리기사 실기 기출문제
- 공부
- aws
- AWS EKS
- Spring
- kotlin coroutine
- Linux
- 코틀린 코루틴의 정석
- CKA
- 오블완
- 정보처리기사 실기
- kotlin spring
- APM
- mysql 튜닝
- kotlin
- MySQL
- CKA 기출문제
- CloudWatch
- minikube
- AI
- Java
- kotlin querydsl
- PETERICA
- 기록으로 실력을 쌓자
- Elasticsearch
- Kubernetes
- 정보처리기사실기 기출문제
- IntelliJ
- Pinpoint
- 티스토리챌린지
Archives
- Today
- Total
피터의 개발이야기
[Spring] Ktlint란, 코딩 컨벤션 본문
반응형
ㅁ 들어가며
ㅇ 코틀린 프로젝트에서 개발 중에 KtLint를 알게 되었다.
ㅇ 에전에 React 개발 시 빌드할 때에 eslint를 사용한 적이 있다.
ㅇ 이와 비슷하게 백엔드에도 코드의 스타일 문제를 검사하는 정적 분석 도구인 KtLint이다.
ㅇ 깔끔한 포맷팅을 위한 ktlint 적용하기 (feat. kotlin)을 인용하여 공부한 내용을 정리하였다.
ㅁ Ktlint란?
ㅇ KtLint는 Kotlin 언어의 공식 코드 컨벤션을 준수하도록 코드 스타일을 검사하고 문제점을 맞춰주는 정적 분석 도구이다.
ㅁ 주요 기능
ㅇ Kotlin 공식 Code Convention을 기반으로 코드 스타일을 검사한다.
ㅇ 대표적 사용방법
ㄴ brew로 설치하여 CLI에서 스타일 검사
ㄴ Gradle을 통해 빌드 과정에서 검사
ㄴ Git hook으로 커밋 전에 코드 스타일을 검사
ㄴ GitAction을 통해 커밋 전에 스타일을 검사
ㅇ 인텔리제이에 플러그로 설치하여 코드 스타일 검사도 가능.
ㄴ 관련하여 예정 작성 글, [JAVA] 코드 컨벤션의 필요성,IntellJ 코드 컨벤션 설정
ㅁ Gradle 설정 방법
gradle 설정
// build.gradle(.kts)
plugins {
id("org.jlleitschuh.gradle.ktlint") version "12.1.1" // 최신 버전으로
}
ㅇ Gradle에 jlleitschuh-gradle-ktlint 플러그인을 추가
ㅇ 최신 버전 정보는 Git - jlleitschuh-gradle-ktlint 또는 plugins.gradle.org에서 확인
editorconfig 파일 설정
# top-most EditorConfig file
root = true
[*]
charset = utf-8
end_of_line = lf # 마지막 뉴라인
indent_style = space # 들여쓰기
indent_size = 4
insert_final_newline = true
max_line_length = 120 # 라인 총 길이
tab_width = 4
disabled_rules = no-wildcard-imports,import-ordering,comment-spacing
ㅇ 자세한 정보는 IntelliJ - EditorConfig 문서 참조
ㅇ https://editorconfig.org/도 참조하면 좋음
태스크 실행
./gradlew ktlintCheck // 코드 스타일 검사
./gradlew ktlintFormat // 코드 스타일 자동 수정
빌드 시 실행
// build.gradle(.kts)
ktlint {
android.set(true) // 안드로이드 프로젝트인 경우
reporters.set(["CHECKSTYLE", "PLAIN_TEXT_FILE"]) // 보고서 형식 지정
}
tasks.getByName("ktlint").setGroup("verification") // 검증 그룹에 추가
tasks.getByName("ktlintFormat").setGroup("formatting") // 포맷팅 그룹에 추가
ㅇ build.gradle(.kts)에 설정한다.
ㅁ 함께 보면 좋은 사이트
반응형
'Programming > Spring' 카테고리의 다른 글
[Spring] Junit 테스트 시 자동 Rollback 설정방법 (0) | 2024.06.26 |
---|---|
[Spring] 패치조인(fetchJoin)이란? (0) | 2024.06.23 |
REST API에서 PATCH와 PUT의 차이점 (0) | 2024.06.16 |
[Spring] JDBC와 MyBatis와 JPA 비교, 시대적 흐름에서 장단점 분석 (2) | 2024.06.11 |
[Spring]Testcontainers란 무엇입니까? (2) | 2024.01.23 |
Comments