범주 요소 중요도 설명
기본 설계 JPA 매우 높음 ORM 기반의 DB 연동, Entity 관리의 핵심
Service Layer 매우 높음 비즈니스 로직 분리의 핵심 계층
DTO 매우 높음 계층 간 데이터 전달 객체, 보안 및 응답 제어
DAO/Repository 매우 높음 데이터 접근 로직을 캡슐화
ResponseEntity 매우 높음 HTTP 응답 제어 (status, body, header)
전역 Exception 처리 매우 높음 예외 통일 및 클라이언트 응답 일관성 확보
TDD / 테스트 코드 매우 높음 안정성과 유지보수를 위한 핵심
코딩 스타일 Setter 제한 높음 무분별한 외부 상태 변경 방지 (불변성 유지)
Builder 패턴 높음 DTO/Entity 생성 시 가독성과 안정성 확보
Validator 높음 입력 값 검증, 유효성 확보
API 응답 품질 공통 응답 포맷 (ApiResponse) 높음 성공/실패 응답의 일관성 유지
에러 코드 Enum화 높음 오류 상황의 명확한 정의와 대응
보안 Spring Security + JWT 높음 인증/인가 필수 요소
CORS 설정 중간 클라이언트 도메인 접근 허용 여부 제어
입력 Sanitization 높음 보안 위협(XSS/SQL Injection 등) 차단
성능/확장성 Lazy/Eager Loading 전략 높음 성능 최적화 및 N+1 문제 방지
QueryDSL 중간 복잡한 조회 쿼리 표현력 강화
캐싱(Redis 등) 중간 읽기 성능 최적화
AOP 기반 로깅 중간 요청/응답 및 성능 분석 로그 자동화
트레이싱 (Sleuth/Zipkin) 중간 요청 흐름 추적, 장애 분석
문서화 Swagger / RestDocs 높음 API 명세 공유, 테스트 편의성 향상
운영/배포 Actuator 중간 시스템 헬스체크 및 모니터링
Dockerize 중간 환경 이식성 확보
CI/CD (GitHub Actions 등) 중간 자동 테스트/배포 파이프라인
기타 생산성 ModelMapper / MapStruct 중간 DTO ↔ Entity 변환 자동화
코드 컨벤션 / 정적 분석 중간 코드 품질 유지 (Checkstyle, SonarLint 등)
모듈 분리 (멀티모듈) 중간 유지보수성과 독립성 향상