발단
- 기존 메인테이너가 모종의 이유로 모두 없음
- 눈에 보이는 앱에 비해 코드 볼륨이 큼
- 더이상 사용되지 않지만 남아있는 코드가 많음
- 레이어가 적절히 구분되어 있지 않고 서로 의존함
⇒ 파악하기 굉장히 어려움
과정
이대로는 기능 하나 변경하기도 무섭다. 어떻게 해야할까? 나는…
- 운영을 효율화했다. - 가장 큰 비용부터 배제
- 사용하지 않는 부분을 제거했다. 🔪
- 배경을 찾는다.
- 보통 찾을 수 없었다.
- 디버깅용 로그를 추가하면서 운영 이슈를 완료해감. 쓰이지 않는 단 걸 확신하는 시점들이 찾아왔다.
- 리팩토링한다. (진행중…)
- 방향성을 잡는다.
- 구조와 흐름을 이해한다.
- …
리팩토링 전까지는 아주 사소한 버그 등만 TDD로 막는 수준만 가능했다.
근데 앞으로 3년, 5년 이상 ‘괜찮게 운영될’ 앱을 만들어두자는 미션을 받은 이상… 리팩토링이 불가피 했다. 이 코드를 그대로 다음 사람에게 넘겨준다면 또 ‘이거 새로 짜는 게 나을 거 같아요’ 라는 말이 나올 미래가 그려졌다.
TBD…