Logan.
📓 NOTE · · by Logan

옛 코드를 지우지 않은 이유 — 옅은 이유의 결정적 가치

안녕하세요, 로건입니다 👋

레포에 codepush.release.js라는 파일이 있음. AppCenter 시절에 OTA를 굴리던 스크립트인데, 서비스가 종료된 지 한참임. 그런데 안 지움.

처음에는 의도해서 남긴 게 아니었음. 그냥 손대지 않고 있었음. 그런데 EAS Update 도입을 마치고 보니, 그 파일이 의외로 세 가지 일을 하고 있더라.

공백기의 기록. 우리가 OTA를 한 번 가졌다가, 잃었다가, 다시 만들었다는 시간선의 증거. 새로 들어온 동료가 왜 이렇게 다시 만들었는지 따라가 볼 수 있는 길.

트레이드오프의 대조군. 새 시스템이 더 좋다는 주장은 대조군이 있어야 의미가 있음. 옛 코드가 같이 있으면 "이게 왜 더 나은지"를 코드 한 줄로 비교할 수 있음.

옅은 보험. EAS 인프라가 한 시간 죽었을 때, 우리가 가진 백업 경로가 마켓 강제 업데이트뿐이라고 단언하기 어려웠음. 다시 켤 가능성은 거의 0이지만, 0이 아닌 것만은 분명했음.

세 번째는 정말 옅은 이유임. 그래도 남겨뒀음.

옛것을 지우는 결정은 옛것이 정말 쓸모없다는 증명이 아니라, 새것이 정말 충분하다는 증명이 있을 때 내린다. 둘은 다름.

운영을 시작하면서 알게 된 게 하나 있는데, 옅은 이유가 종종 결정의 마지막 한 표가 되더라.