개개인이 작성하는 코드 스타일을 정렬시켜주는 도구
프로젝트에서 사용하면서 알게된 소스 협업에 필수적인 기능? 개념? 이라고 느껴진다
// 1
if {
logic..
}
// 2
if
{
logic...
}
뭐 이런식의 차이가 있을수도 있고, import를 할때 행의 위치가 달라질수도 있고
import java.util.*;
이렇게하기를 선호할수도 있고..
이런 부분들을 머지전에 정렬을 시켜주는 도구임.
정렬된다는것에 이점도 있겠지만, 코드리뷰할때 사소한 부분들이 수정된것 처럼 보이는 시간 낭비를 줄일 수 있다!
build.gradle
plugins {
// 생략
id 'com.diffplug.gradle.spotless' version '4.2.1'
}
// 중략
spotless {
java {
// import 순서
importOrder 'java', 'javax', 'org', 'com', ''
// 미사용 import 제거
removeUnusedImports()
// 구글 포멧?
googleJavaFormat('1.7').aosp()
// 간격
indentWithSpaces(4)
// 공백 제거
trimTrailingWhitespace()
// 끝부분 NewLine
endWithNewline()
}
// 특정 파일에 대해 적용하고자 하는 경우
format 'misc', {
target '**/*.yml', '**/*.gradle', '**/*.md', '**/.gitignore'
indentWithSpaces(2)
trimTrailingWhitespace()
endWithNewline()
}
}
./gradlew spotlessApply
로 실행하면 지정한 파일들을 정렬시킨다
머지 전에 꼭 수행하고 머지하면 좋다