피드로 돌아가기
파트너플랫폼 스쿼드 코드 컨벤션 소개 🌼
올리브영 테크블로그올리브영 테크블로그
Backend

파트너플랫폼 스쿼드 코드 컨벤션 소개 🌼

파트너플랫폼 스쿼드가 6개 항목의 코드 컨벤션 정의로 작업 속도와 코드 품질, 협업 효율성 개선

2023년 12월 5일7beginner

Context

파트너오피스 서비스 개선 과정에서 레거시 코드의 불일치, 안티 패턴, 개발 규칙의 부재로 인한 협업 비효율성이 발생했다. 팀 내에서 일관되지 않은 개발 스타일로 인해 코드 유지보수, 가독성, 협업에 어려움이 있었다.

Technical Solution

  • .editorconfig 파일을 통한 IDE 설정 표준화: 탭 사이즈, 들여쓰기, 인코딩을 파일별(java, yaml, groovy, bash, properties) 단위로 관리
  • 패키지 구조 표준화: application, domain, infra, ui 레이어로 구분하여 의존성 분리 및 도메인/비즈니스 분리 구현
  • 명명 규칙 정의: 변수, 메서드, 클래스에 의미있는 전체 이름 사용 및 레이어별(Controller~Service, Repository) 메서드 명칭 차별화
  • URI 설계 규칙 수립: 자원을 단수 명사로 표현하고 복수 처리 API에 'bulk' 단어 삽입, HTTP 메서드 적극 활용
  • 응답 코드 패턴 통일: 클라이언트가 일관된 HTTP 상태 코드와 응답 메시지 형식으로 해석 가능하도록 표준화
  • 응답 메시지 구조 표준화: 목록 데이터는 RestCollectionResponse 제네릭 클래스 사용(data, totalCount, page, pageSize, summary), 단일 자원 응답 시 identifier 필수 포함

Key Takeaway

코드 컨벤션은 일관된 개발 규칙을 통해 팀원 간 코드 이해도를 맞추고 버그 발견/수정 속도를 단축하는 기반이 된다. 초기 규칙 정의에 소요되는 논의 시간은 이후 개발 속도와 코드 품질 향상으로 충분히 보상된다.


신규 백엔드 서비스를 개발하는 팀에서 프로젝트 초기에 패키지 구조(레이어 분리), 명명 규칙, URI 설계 규칙, 응답 메시지 형식을 문서화하고 .editorconfig로 자동화하면 코드 리뷰 시간을 줄이고 팀 온보딩 시간을 단축할 수 있다.

원문 읽기