--- kind: REFERENCE slug: write-down-what-would-undo-a-workaround title: 우회를 남길 때는 되돌릴 조건을 함께 적는다 topic: addresses-frozen-at-publish-time topicName: 주소가 만들어지고 굳어지는 곳 project: TechLog status: 게시 전 verifiedOn: 2026-09-04 sourceRevision: tech-log@2026-09-02 source: - final/document.md#§9.4 --- # 우회를 남길 때는 되돌릴 조건을 함께 적는다 그 화면이 줄 수 있는 것이 아직 비어 있어 링크를 다른 곳으로 돌린 적이 있다. 우회 자체는 틀리지 않았다. 문제는 우회를 남겨 두면 「왜 이 링크가 저기로 가지?」라는 질문이 계속 남는다는 것이다. 우회할 때 되돌릴 조건을 함께 적는다. ## 관계 - **축 링크가 자기 자신을 가리켰고, 고친 뒤에는 백엔드를 먼저 배포했다** 같은 주제 링크를 다루며 이 기준이 나왔다. - **홈의 비교 구역이 세 번 바뀌었다** 단계마다 무엇을 고치려 했는지 적어 둔 다른 예다. - **새 라우트는 프론트엔드를 먼저 배포한다** 같은 사건에서 나온 짝이 되는 결정이다. ## 목적 임시 조치가 영구 구조로 굳는 것을 막는다. 되돌릴 조건이 적혀 있지 않으면 다음 사람이 그 우회를 설계로 읽는다. ## 규칙 **우회를 넣는 커밋에 되돌릴 조건을 적는다** 무엇이 채워지면 되돌리는지 한 줄로 적는다. 그 조건이 충족됐을 때 실제로 되돌린다. **우회할 때 무엇이 비어 있어서 우회하는지 함께 적는다** 채울 것이 없어서 돌린 것과 구조상 그쪽이 맞아서 돌린 것은 다르다. **되돌릴 생각이 없으면 우회가 아니라 결정으로 적는다** 그때는 조건이 아니라 근거와 감수한 비용을 적는다. ## 적용 조건 그 화면이 줄 수 있는 것이 아직 비어 있어 링크나 흐름을 다른 곳으로 돌릴 때. ## 예외 되돌릴 생각이 없는 영구 변경은 우회가 아니다. 조건 대신 근거를 적는다. 조건을 적을 수 없으면 그것은 우회가 아니라 아직 정하지 않은 것이다. 열린 질문으로 남긴다. ## 예시 주제 화면이 주제 셋을 하드코딩해 두고 있어 실제 주제는 무엇이든 404 였다. 그때 주제 페이지를 채우는 대신 링크를 탐색 필터로 돌렸다. 돌린 이유는 그 페이지만 줄 수 있는 것 — 설명, 범위, 선별한 대표 기록 — 이 전부 비어 있었고 Studio 에 주제 설명을 쓸 칸조차 없었기 때문이다. 그 조건을 커밋 메시지에 적었고, 주제 화면을 계약에 잇고 하드코딩을 없앤 뒤 링크를 곧장 주제 화면으로 되돌렸다.