안쓰는 코드인 줄 알면서도 계속 검증했던 이유
- AI
- Culture

아무 데서도 호출되지 않는 쿼리 필드를 발견하고 지우기로 했는데, 정말 지워도 되는 건지 확신이 서지 않았다. 참조를 찾아봐도 나오지 않았고, 코드 상에서는 분명 쓰이지 않고 있었다. 하지만, 단순히 안 쓰인다는 것만으로 지워도 되는 건지 판단하기에는 부족했다.
커밋과 슬랙에서 근거를 모았다
언제 만들어졌고 왜 안 쓰이게 됐는지
먼저 Claude로 해당 코드의 생성 시점부터 이후 수정 이력까지 모두 추적했다. 변경될 때마다 남긴 메시지들을 시간 순으로 훑어보면 최소한의 실마리는 잡힐 거라 생각했다. 하지만, 커밋 메시지만으로는 당시 맥락을 알기 어려워서, 주변 코드와 변경 흐름을 함께 분석해 왜 만들어졌고 왜 더 이상 쓰이지 않게 됐는지 유추하도록 지시했다.
동시에 슬랙 MCP로 관련 키워드를 검색해 히스토리도 확인했다. 커밋만으로 채워지지 않는 배경은 그 시점 대화에 남아 있을 가능성이 컸다. 특히 이 쿼리가 도입된 시점 전후의 스레드를 우선적으로 살펴봤다. 단순히 누락된 죽은 코드인지, 아니면 의도적으로 남겨둔 코드인지를 판단하고 싶었다.
커밋과 슬랙을 모두 파악한 결과
생성된 지 3년, 마지막 수정은 2년 전이었다. 두 기록을 맞춰보자 하나의 흐름이 드러났다. 해당 쿼리를 소비하던 렌더링 로직은 새로운 아키텍처로 교체되며 제거됐고, 값을 공급하던 이 쿼리 정의는 같은 파일 안에 있었음에도 리팩토링 범위에서 빠져 남게 된 것이었다. 이 맥락을 근거로, 해당 쿼리 필드를 삭제하기로 결정했다.
근거를 모았는데도 배포 전까지 떨린 이유
근거가 있다는 것과, 그 근거를 신뢰할 수 있다는 것
삭제 PR을 올리고 리뷰까지 마쳤지만, 상용 배포 직전까지 계속 신경이 쓰였다. 몇 가지 가능성이 머릿속을 떠나지 않았다.
결국 내가 모은 근거가 전체가 아니라 일부일 수도 있다는 의심이었다. 커밋과 슬랙을 모두 확인했다고 해서, 당시의 모든 맥락이 기록으로 남아 있다는 보장은 없었다. 배포가 무사히 끝나고 정상 동작을 확인한 뒤에야 비로소 그 불안이 가라앉았다.
과거 기록을 얼마나 믿을 수 있을까?
근거가 남아 있어야 모을 수 있다.
이번에는 커밋과 슬랙이 맞아떨어졌기 때문에 판단할 수 있었다. 하지만 둘 중 하나라도 어긋났거나, 애초에 기록이 없었다면 같은 결론에 도달하기는 어려웠을 것이다. 이 경험을 통해 지금 내가 남기는 커밋 메시지와 PR 설명, 슬랙에 남기는 논의 하나하나가 몇 달 뒤 누군가의 판단 근거가 된다는 점을 느꼈다.
AI로 생성한 메시지는 “무엇을 바꿨는지”는 잘 설명하지만 “왜 바꿨는지”는 빠지기 쉽다. 이 상태로 넘어가면 당장은 편해도, 나중에 그 코드를 수정하거나 제거할지 판단하는 사람에게 중요한 단서 하나가 비게 된다. 그러면 지금의 내 모습처럼 배포 때까지 불안감을 껴안고 있어야 할 것이다.
기록을 믿으려면 맥락과 범위가 필요하다.
기록이 신뢰되려면 변경의 이유가 담긴 맥락과, 그 맥락을 온전히 담을 수 있는 작은 수정 범위가 함께 필요하다. 수정 범위가 작으면 빠진 부분이 있는지 바로 눈에 띈다. 반면 수정 범위가 크면 여러 요인이 한 커밋 안에 뒤섞여서, 무엇이 의도적으로 남겨졌고 무엇이 단순히 누락됐는지 구분하기 어려워진다.
그래서 남기기로 한 것들
다음 사람을 위해 무엇을 남겨야 할까?
커밋 메시지를 생성할 때부터 "왜 이 변경이 필요한지"를 반드시 포함하도록 규칙을 추가하려 한다. PR에도 작업의 출발점과 개선 내용을 명시하도록 정리할 생각이다. 이후 AI가 이 기록을 참고하더라도 같은 공백이 반복되지 않게 하기 위해서다.
구두로 오간 논의는 그 자리에서 흘려보내지 않고, 끝나면 관련 스레드에 결론만이라도 정리해서 남겨야 한다. 또한 같은 개념을 팀이나 사람마다 다르게 부르면, 검색어가 어긋나 기록을 놓치기 쉽다. 따라서, 코드와 문서에서 사용하는 용어를 슬랙에서도 동일하게 사용하기로 맞추려 한다. 검색되지 않는 기록은 없는 것과 다르지 않다.
좋은 기록이 좋은 판단으로
결국 중요한 것은 기록이다. 맥락이 충분히, 그리고 일관된 형태로 남아 있다면 다음에 같은 코드를 마주쳤을 때 커밋과 슬랙을 오가며 근거를 재구성할 필요가 없다. 기록 자체만으로도 판단에 필요한 단서를 충분히 얻을 수 있다. 이는 단순한 시간 절약을 넘어, 판단의 일관성까지 높여줄 것이다.
이제는 AI가 그 기록을 탐색해 사람보다 더 빠르고, 때로는 더 일관되게 판단을 돕는 시대다. 그렇다면 내가 할 일은 AI가 정확하게 찾아내고 해석할 수 있도록, 맥락과 의도를 빠짐없이, 그리고 검색 가능한 형태로 남겨두는 것이다. 기록의 품질이 곧 판단의 품질로 이어질 수 있도록 말이다.
