Files
test/CODE_STYLE_SETUP.md

3.3 KiB

Code Style 설정 가이드

이 문서는 프로젝트에서 Google Java Style을 자동으로 적용하기 위한 설정 가이드입니다.

자동 포맷팅 구성

1. 커밋 시점 자동 체크 (Git Pre-commit Hook)

커밋 전에 자동으로 코드 스타일을 체크하고, 문제가 있으면 커밋을 막습니다.

설정 완료: .git/hooks/pre-commit 파일이 자동으로 실행됩니다.

동작 방식:

  • 커밋 시도 시 ./gradlew spotlessCheck 자동 실행
  • 포맷팅 오류가 있으면 커밋 차단 및 안내 메시지 출력
  • 포맷팅이 올바르면 커밋 허용

포맷팅 오류 발생 시:

# 자동 포맷팅 적용
./gradlew spotlessApply

# 변경사항 추가 후 다시 커밋
git add .
git commit

2. IntelliJ IDEA 저장 시점 자동 포맷팅

방법 1: Code Style 설정 임포트 (권장)

  1. IntelliJ IDEA 열기
  2. Settings/Preferences (Mac: ⌘, / Windows: Ctrl+Alt+S)
  3. Editor > Code Style > Java
  4. ⚙️ (톱니바퀴) 클릭 > Import Scheme > IntelliJ IDEA code style XML
  5. 프로젝트 루트의 intellij-java-google-style.xml 파일 선택
  6. OK 클릭

방법 2: 저장 시 자동 포맷팅 활성화

Option A: Actions on Save 설정

  1. Settings/Preferences > Tools > Actions on Save
  2. 다음 옵션들을 활성화:
    • Reformat code
    • Optimize imports
    • Rearrange code (선택사항)
  3. Changed lines 또는 Whole file 선택
  4. OK 클릭

Option B: Save Actions Plugin 사용 (더 많은 옵션)

  1. Settings/Preferences > Plugins
  2. Marketplace에서 "Save Actions" 검색 및 설치
  3. Settings/Preferences > Other Settings > Save Actions
  4. 다음 옵션 활성화:
    • Activate save actions on save
    • Reformat file
    • Optimize imports
    • Rearrange fields and methods (선택사항)

3. Gradle Spotless Plugin 수동 실행

코드 포맷팅 체크

# 포맷팅 문제 확인만 (수정하지 않음)
./gradlew spotlessCheck

코드 자동 포맷팅

# 모든 Java 파일 자동 포맷팅 적용
./gradlew spotlessApply

빌드 시 자동 체크

# 빌드 전에 자동으로 spotlessCheck 실행됨
./gradlew build

코드 스타일 규칙

프로젝트는 Google Java Style Guide 기반으로 다음 규칙을 따릅니다:

  • Indentation: 2 spaces (탭 아님)
  • Line Length: 100 characters
  • Line Endings: LF (Unix-style)
  • Charset: UTF-8
  • Import Order: Static imports → 빈 줄 → Regular imports
  • Braces: 모든 if, for, while, do 문에 중괄호 필수

문제 해결

Pre-commit hook이 실행되지 않는 경우

# 실행 권한 확인 및 부여
chmod +x .git/hooks/pre-commit

Spotless 플러그인이 동작하지 않는 경우

# Gradle 의존성 다시 다운로드
./gradlew clean build --refresh-dependencies

IntelliJ 포맷팅이 다르게 적용되는 경우

  1. intellij-java-google-style.xml 다시 임포트
  2. File > Invalidate Caches > Invalidate and Restart

추가 정보