목록 보기
파트너오피스 리뉴얼, 왜 우리는 리팩터링을 하였는가?
백엔드

파트너오피스 리뉴얼, 왜 우리는 리팩터링을 하였는가?

올리브영
올리브영
2023년 12월 28일

두줄요약

파트너오피스 리뉴얼 과정에서 가독성 저하, 공용 구조, 미사용 코드 등을 정리하며 리팩터링을 진행했습니다. 그 결과 코드 라인 감소와 함께 서비스 이해도, 유지보수성이 함께 개선되었습니다.

문제 상황

  • 중구난방한 코드 스타일과 지나친 축약어로 인한 낮은 가독성
  • 여러 API가 같은 클래스와 Request, Response를 공유하며 생기는 수정 범위 확장과 사이드 이펙트 우려
  • 미사용 변수·메서드, 매직 넘버, String 상태코드, 과도하게 긴 서비스 로직 등 레거시 누적

원인 분석

  • 공통 클래스로 모든 기능과 필드를 묶은 구조로 인한 유지보수 난이도 상승
  • 명명 규칙과 책임 분리가 통일되지 않아 코드 추적과 리뷰 효율 저하
  • @Lazy와 범용화된 구조처럼 불필요하게 남은 설계 선택들

해결 방법

  • 팀 코드 스타일 컨벤션 정의와 리뷰를 통한 규칙 통일
  • 도메인 분리, VO 재정의, 미사용 코드 제거, Enum 전환으로 구조 단순화
  • 정책·변환·예외처리 분리와 API별 Request, Response 분리로 책임 재배치

성능/운영 포인트

  • 패키지 전체 라인 약 30% 감소, 일부 서비스 파일 292줄에서 119줄로 축소
  • API별 입력·출력 분리로 스펙 변경 시 영향 범위 축소
  • @Lazy 제거로 런타임 오류 지점 축소와 초기화 단계에서 문제 확인 유도

적용해볼 점

  • 레거시도 한 번에 정리할 범위를 정해 점진적으로 개선
  • 이름·책임·공유 구조를 먼저 점검해 리팩터링 우선순위 설정
  • 팀 컨벤션과 리뷰를 통해 재발 방지 체계 마련

다음 읽기

#code convention 주제를 이어서 읽기

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

파트너플랫폼 스쿼드가 코드 컨벤션을 정리한 과정과 주요 원칙을 소개했습니다. 일관된 규칙이 가독성, 유지보수성, 협업 효율을 높인다고 설명했습니다.

올리브영
올리브영
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...