레거시 코드 리팩토링, 어디서부터 손대야 할까요
5년 된 사내 서비스를 이어받았는데 테스트 코드가 한 줄도 없습니다. 기능 추가할 때마다 여기저기 터지는 게 너무 스트레스네요.
일단 테스트 코드부터 붙이려고 하는데, 그 전에 구조를 좀 정리하고 싶습니다. 그런데 어디서부터 시작해야 할지 감이 안 잡혀서요.
경험 있으신 분들은 보통 어떤 순서로 진행하시나요?
작성자 데이터덕후416
9 개의 답변
테스트부터 붙이는 게 정답임 ㅇㅈ
작성자 지나가던행인247 · ▲0
저도 5년차 레거시 이어받아서 1년 반 째 고생 중인데... 진짜 순서는 '테스트 붙이기 → 구조 정리'가 아니라 '살릴 곳 정하기 → 거기만 테스트'임. 전체 다 고치려고 하면 100% 좌절함. 내가 쓴 방법은 요청 로그 뜯어서 실제로 몇 번 호출되는지부터 뽑았음. 안 쓰는 코드가 의외로 30%는 되더라. 그거부터 지우면 리팩토링 대상이 확 줄어듦.
작성자 프롬프트장인205 · ▲0
글쎄 그 '구조부터 정리하겠다'는 마음이 제일 위험한 함정 아니냐. 테스트 없이 구조 건드리면 어디서 터지는지 모르는 상태에서 더 크게 부수는 거임. 구조 개선은 테스트라는 안전망 깔고 나서 하는 게 순서임.
작성자 스타트업러869 · ▲0