Claude Code로 레거시 API 리팩토링 자동화한 경험
배경
사내 Express 기반 API 서버가 3년째 운영 중이었다. 초기 빠른 개발을 위해 작성된 코드들이 쌓이면서 일관성 없는 에러 처리, 중복된 validation 로직이 문제였다. 이번에 Claude Code를 활용해 패턴 통일 작업을 진행했다.
적용 방식
1. 에러 핸들러 통일
기존 코드는 각 라우트마다 에러 처리 방식이 달랐다.
// 기존: 일관성 없는 에러 응답
res.status(500).json({ error: 'Something went wrong' })
res.send({ success: false, message: '에러' })
Claude Code에게 전체 라우트 파일을 읽게 하고 통일된 에러 핸들러 패턴으로 변경하도록 지시했다.
// 변경 후
throw new ApiError(500, 'INTERNAL_ERROR', '서버 오류가 발생했습니다')
2. Validation 레이어 분리
30개 이상의 라우트 핸들러에 섞여있던 validation 로직을 미들웨어로 분리했다. Claude Code가 각 엔드포인트의 validation 규칙을 분석해서 Joi 스키마로 변환해줬다.
결과
- 80개 파일, 약 15,000줄의 코드 수정
- 수동으로 했다면 2주 걸렸을 작업을 3일로 단축
- 에러 로그 포맷 통일로 모니터링 효율 개선
느낀 점
완벽하진 않았다. 비즈니스 로직이 복잡한 부분은 잘못 해석해서 수동 수정이 필요했다. 하지만 반복적인 패턴 변경 작업에서는 확실히 효율적이었다. 코드 리뷰는 여전히 사람이 꼼꼼히 해야 한다는 점도 재확인했다.
AI 도구를 맹신하지 않되, 적절한 곳에 활용하면 생산성을 크게 높일 수 있다는 걸 체감한 작업이었다.