발단

  • 기존 메인테이너가 모종의 이유로 모두 없음
  • 눈에 보이는 앱에 비해 코드 볼륨이 큼
  • 더이상 사용되지 않지만 남아있는 코드가 많음
  • 레이어가 적절히 구분되어 있지 않고 서로 의존함

파악하기 굉장히 어려움

과정

이대로는 기능 하나 변경하기도 무섭다. 어떻게 해야할까? 나는…

  1. 운영을 효율화했다. - 가장 큰 비용부터 배제
  2. 사용하지 않는 부분을 제거했다. 🔪
    1. 배경을 찾는다.
    2. 보통 찾을 수 없었다.
    3. 디버깅용 로그를 추가하면서 운영 이슈를 완료해감. 쓰이지 않는 단 걸 확신하는 시점들이 찾아왔다.
  3. 리팩토링한다. (진행중…)
    1. 방향성을 잡는다.
    2. 구조와 흐름을 이해한다.

리팩토링 전까지는 아주 사소한 버그 등만 TDD로 막는 수준만 가능했다.

근데 앞으로 3년, 5년 이상 ‘괜찮게 운영될’ 앱을 만들어두자는 미션을 받은 이상… 리팩토링이 불가피 했다. 이 코드를 그대로 다음 사람에게 넘겨준다면 또 ‘이거 새로 짜는 게 나을 거 같아요’ 라는 말이 나올 미래가 그려졌다.

TBD…