CodePoet / Essay
부산물들4 / 6되돌릴 수 있게 짓는다
초기 구간의 유일한 상수는 내가 틀린다는 것. 그래서 설계 기준은 확장이 아니라 되돌리기다. 표면적을 줄이고, fork보다 교체를 택해 매몰비용을 만들지 않는다. 시리즈 '부산물들' 4편.
갈아엎어야 하면?
아무렇게나 지으면 커지는 날 다 뜯어야 하지 않나. 맞는 걱정이다. 그런데 그 걱정은 한 가지를 전제하고 있다 — 지금 지은 게 그대로 간다는 것.
초기 구간에선 그게 틀렸다.
초기의 유일한 상수
초기에 변하지 않는 건 하나뿐이다. 내가 틀린다는 것.
니즈를 잘못 읽고, 방향을 바꾸고, 피보팅한다. 그러니 지금 지은 게 그대로 갈 일은 거의 없다. 어차피 바뀐다.
그래서 못 박지 않는다
크게 못 박지 않는다. 되돌릴 수 있게, 갈아끼울 수 있게 짓는다.
기준은 확장이 아니라 되돌리기다. "이걸 버릴 때 얼마나 가벼운가"를 먼저 묻는다.
표면적을 줄인다
운영할 면이 작을수록 갈아엎기 쉽다. 단일 바이너리 하나가 흩어진 서비스 열보다 되돌리기 쉽다.
fork보다 교체. 통째 가져와 필요 없는 걸 떼어내면, 끌고 온 코드가 다 매몰비용이 된다. 필요한 것만 새로 끼우면 버릴 때 가볍다.
되돌릴 수 있게 짓는다.
말은 쉽다. 실제로 그렇게 지어 봤냐고? 마침, 며칠 전에. 다음 편.
이 글에 남긴 포스트잇0
아직 포스트잇이 없어요. 첫 자리를 남겨보세요.