레거시 유지보수 맥락 재구성 결
가장 도전적이었던 유지보수 작업은 인턴 기간에 문서가 전혀 없는 레거시 스크립트를 인수받은 것이었습니다. 코드를 작성한 사람이 이미 퇴직한 상태였고, 무엇을 하는 코드인지 설명이 없어서 실행해 보기도 두려웠습니다. 로그 출력을 추가하면서 실행 흐름을 추적하는 방식으로 코드가 무엇을 하는지를 먼저 파악했습니다.
git blame으로 변경 이력을 보면서 마지막으로 수정된 이유를 추측하고, 당시 커밋 메시지에서 힌트를 얻었습니다. 리팩터링보다 이해를 먼저라는 원칙을 지켰는데, 동작을 이해하기 전에 구조를 바꾸면 의도치 않은 사이드 이펙트가 생기는 경우가 있었습니다. 이 경험에서 코드를 인수할 때 먼저 테스트 케이스를 작성해두면 이후 수정에서 회귀를 잡을 수 있다는 것을 배웠습니다. 레거시 유지보수는 동작을 이해한 뒤 고쳐야 한다는 결을 얻었습니다.