
코드 악취를 맡는 후각 훈련의 시간
두줄요약
RMS를 기능·유사도 기준으로 나누고 TODO, 리뷰, mock 테스트 중심의 단계적 리팩토링을 진행했습니다. 예외 처리와 공통 로직을 개선하고 코드 가독성·테스트 커버리지·팀 이해도를 높였습니다.
문제 상황
- 초기 설계 미흡 상태로 진행된 RMS의 누적된 코드 악취
- 성능·기능 장애는 없지만 수정과 유지보수가 어려운 코드 구조
- 한 달간 3명이 수행할 리팩토링 범위와 기준 설정 필요
해결 방법
- 메인 기능과 코드 유사성을 기준으로 8개 파트 분류, 3차 리팩토링·QA 검증·분할 배포 계획
- 코드 길이, 중첩 조건문, 파라미터 수, 불필요 코드·로그, 모호한 이름 기반의 점검 기준 수립
- 대상 코드와 개선 방향을 IDE TODO로 기록하고 팀 리뷰로 변경 방향 합의
- 기존 서비스 로직의 분기를 대상으로 mock 테스트 작성 후 로컬·통합 테스트 수행
구조와 흐름
- 오류 메시지 enum인 ExceptionType 도입으로 예외 생성과 테스트 검증 기준 통일
- 조건문과 주석이 누적된 검수·검품 공통 로직을 각 처리 로직으로 재분리
- 가독성 개선에 따른 코드 라인 감소와 서비스 레벨 테스트 커버리지 확대
적용해볼 점
- 기존 담당 영역 밖의 기능을 맡아 프로젝트 이해도를 팀 전체로 확장
- 테스트 코드 작성 경험을 통한 테스트 거부감 완화
- 지속적인 코드 악취 탐지와 리팩토링을 유지보수 활동으로 정착


