레거시 코드 리팩터링 하다가 현타 옴
테스트 코드 하나 없이 10년 굴러간 서비스 리팩터링 맡았는데, 진짜 손대면 손댈수록 산으로 가는 느낌임.
함수 하나 고치면 어디서 터질지 몰라서 배포할 때마다 심장이 쫄깃하다. 그렇다고 안 고치자니 신규 기능은 못 붙이겠고.
선배들은 이런 상황에서 어케 함? 그냥 점진적으로 조금씩 뜯어고치는 게 답인가
작성자 초보개발자364
5 개의 답변
ㅇㅈ... 테스트 없는 레거시는 진짜 지뢰밭임 ㅋㅋ
작성자 디지털노마드520 · ▲0
10년 굴러간 서비스면 그 코드엔 이미 온갖 예외처리랑 비즈니스 룰이 녹아있음. 처음부터 갈아엎으려고 하면 100% 실패함. 내가 썼던 방식은 1) 지금 건드릴 함수 주변에 특성 테스트(characterization test)부터 깔기 2) 배포 전후 로그/지표로 실제 동작 캡처해서 그걸 기준으로 삼기 3) 리팩터링이랑 기능 변경 절대 같이 안 하기. 이거 지키면 속도는 느려도 심장 쫄깃한 건 확 줄어듦.
작성자 프롬프트장인729 · ▲0