레거시 코드 품질과 안정성 개선을 위해 선택한 접근과 결과를 정리한 결
인턴 첫 과제로 레거시 결제 모듈 리팩터링을 맡았습니다. 코드 커버리지가 12%였고 함수 한 개가 200줄이 넘었습니다. 저는 일단 기존 동작을 보호하는 통합 테스트부터 작성해 안전망을 만든 뒤, 함수를 책임 단위로 쪼개는 순서를 택했습니다. Extract Method 패턴으로 결제 유효성 검사·금액 계산·알림 발송을 각각 분리했더니 커버리지가 12%에서 71%로 올랐습니다. 이후 CI에서 커버리지 임계값을 65%로 강제하도록 설정했고, 팀에서 그 기준이 실제로 유지됐습니다. 이 경험으로 리팩터링은 테스트 없이 시작하면 오히려 위험이 커진다는 것을 직접 느꼈습니다.