← 목록으로
코드 스타일 (BE) 2026.02.07 ✍️ 허영현

백엔드(BE) 코드 스타일 및 시스템 컨벤션

본 문서는 폴더 구조 외에 코드를 작성할 때 지켜야 할 문법적 스타일, 의존성 관리, 어노테이션 규칙 및 테스트 환경 설정에 대해 정의합니다.

백엔드(BE) 코드 스타일 및 시스템 컨벤션

본 문서는 폴더 구조 외에 코드를 작성할 때 지켜야 할 문법적 스타일, 의존성 관리, 어노테이션 규칙 및 테스트 환경 설정에 대해 정의합니다.

1. 기본 명명 규칙 (Naming Conventions)

Java와 Spring Boot의 표준 스타일을 따르며, 누구나 코드를 보고 역할을 유추할 수 있도록 아래의 네이밍 룰을 지킵니다.

2. 서버 런타임 및 프로파일 제어

서버 실행 시 환경 변수(SPRING_PROFILES_ACTIVE)에 따라 활성화되는 API가 다릅니다.

3. DTO 설계 규칙: 기본은 record

모든 요청(Request) 및 응답(Response) DTO는 불변성을 보장하는 Java record 사용을 원칙으로 합니다. (ArchUnit에서 검사함)

단, 아래의 예외적인 상황에서만 class 사용을 허용합니다:

4. 빈(Bean) 등록 및 의존성 주입

5. DB 권한 및 트랜잭션 규칙

6. 테스트 검증 (JaCoCo & ArchUnit)

우리 팀은 PR을 올리기 전 로컬에서 테스트 커버리지와 아키텍처 룰을 반드시 통과해야 합니다. CI에서 실패하면 재실행 시간이 오래 걸리므로 로컬 검증을 습관화합니다.

📊 JaCoCo 테스트 커버리지 기준

🏗️ ArchUnit 아키텍처 검사

코드가 팀의 폴더 구조 및 의존성 규칙을 어기지 않았는지 코드로 검증합니다.

💡 트러블슈팅 팁: DB 연결 실패(Connection refused) 에러 발생 시, 로컬 환경의 PostgreSQL 컨테이너(holliverse-test-db)가 실행 중(docker ps)인지 먼저 확인하세요.

#BE #코드스타일