template-java-gradle/.claude/rules/naming.md
Team Workflow Bot 3c99ffb83a chore: Java Gradle 프로젝트 템플릿 초기 구성
- CLAUDE.md: Java/Spring Boot/Gradle 프로젝트 가이드
- .claude/settings.json: Gradle 빌드 도구 권한 설정
- .claude/rules/: Java 코드 스타일, 네이밍, 테스트 규칙
- .githooks/pre-commit: Gradle 컴파일 검증
- gradle.properties.example: Nexus 레포지토리 설정 예시
- .sdkmanrc: JDK 17 버전 고정
2026-02-14 08:20:39 +09:00

2.1 KiB

Java 네이밍 규칙

패키지

  • 모두 소문자, 단수형
  • 도메인 역순: com.gcsc.프로젝트명.모듈
  • 예: com.gcsc.batch.scheduler, com.gcsc.api.auth

클래스

  • PascalCase
  • 명사 또는 명사구
  • 접미사로 역할 표시:
계층 접미사 예시
Controller Controller UserController
Service Service UserService
Service 구현 ServiceImpl UserServiceImpl (인터페이스 있을 때만)
Repository Repository UserRepository
Entity (없음) User, ShipRoute
DTO 요청 Request CreateUserRequest
DTO 응답 Response UserResponse
설정 Config SecurityConfig
예외 Exception UserNotFoundException
Enum (없음) UserStatus, ShipType
Mapper Mapper UserMapper

메서드

  • camelCase
  • 동사로 시작
  • CRUD 패턴:
작업 Controller Service Repository
조회(단건) getUser() getUser() findById()
조회(목록) getUsers() getUsers() findAll()
생성 createUser() createUser() save()
수정 updateUser() updateUser() save()
삭제 deleteUser() deleteUser() deleteById()
존재확인 - existsUser() existsById()

변수

  • camelCase
  • 의미 있는 이름 (단일 문자 변수 금지, 루프 인덱스 i, j, k 예외)
  • boolean: is, has, can, should 접두사
    • 예: isActive, hasPermission, canDelete

상수

  • UPPER_SNAKE_CASE
  • 예: MAX_RETRY_COUNT, DEFAULT_PAGE_SIZE

테스트

  • 클래스: {대상클래스}Test (예: UserServiceTest)
  • 메서드: {메서드명}_{시나리오}_{기대결과} 또는 한국어 @DisplayName
    • 예: createUser_withDuplicateEmail_throwsException()
    • 예: @DisplayName("중복 이메일로 생성 시 예외 발생")

파일/디렉토리

  • Java 파일: PascalCase (클래스명과 동일)
  • 리소스 파일: kebab-case (예: application-local.yml)
  • SQL 파일: V{번호}__{설명}.sql (Flyway) 또는 kebab-case