코드 악취를 맡는 후각 훈련의 시간
홍혜린 · 컬리 · 컬리 기술 블로그
소개
한 달, 각 잡고 리팩토링하기 좋은 시간, 그 기록의 공유
AI 핵심 요약
입고관리 시스템(RMS)은 기능상 문제는 없었지만 초기부터 쌓인 코드 구조를 개선할 필요가 있었고, 세 명의 개발자는 한 달여 동안 리팩토링을 진행했습니다. 프로젝트를 기능과 코드 유사성에 따라 8개 파트로 나누고, 30라인 초과나 3중 중첩 조건문 같은 점검 기준을 정한 뒤 TODO와 팀 리뷰로 개선 방향을 공유했습니다. 기존 로직의 서비스 레벨 테스트를 작성하고 QA를 거쳐 단계별로 배포했으며, 그 과정에서 예외 처리와 과도하게 복잡해진 공통 함수를 정리하고 코드 가독성과 테스트 커버리지를 높였습니다. 리팩토링은 코드 개선뿐 아니라 팀의 프로젝트 이해도를 높이고 테스트 작성에 대한 부담을 줄이는 계기가 되었으며, 지속적인 유지보수가 필요하다는 점을 확인했습니다.
- 리팩토링 범위가 크다면 기능과 코드 유사성을 기준으로 나누고, 단계별 QA와 배포 계획을 세우세요.
- 팀이 함께 적용할 수 있도록 코드 길이, 중첩 조건문, 매개변수 수 등 구체적인 점검 기준을 정하세요.
- TODO에 대상이 된 이유와 개선 방향을 기록하고 리뷰해 팀의 판단을 맞추세요.
- 기존 동작을 보호하려면 리팩토링 전에 서비스 레벨 테스트를 작성하고 가능한 분기를 검증하세요.
- 공통 함수가 조건문과 주석으로 복잡해졌다면, 억지로 공통화하기보다 기능별로 다시 분리하는 편이 읽기 쉬울 수 있습니다.
비슷한 학습 자료
달리는 기차의 바퀴 교체하기 2. Restructuring
한재엽 · 토스 기술 블로그
업무 효율화, 작은 단계부터 다시 보기
서소희/문은진 · 토스 기술 블로그
컬리의 새로운 배송 시스템 구축 과정과 우리가 배운점
한경훈 · 컬리 기술 블로그
신규 서비스 배포 전에 실험과 개선을 반복한 이야기
박제희, 이규원, 이종립 · 컬리 기술 블로그
클로드 코드로 개발 팀장의 하루를 재설계한 이야기
한경훈 · 컬리 기술 블로그
개발자의 시간을 벌어주는 두 가지 도구: 잘 쓴 테크 스펙, 그리고 AI
한승희 · 컬리 기술 블로그