프로젝트 데이비드: 다시 개발을 시작하다
<클로드 코드 신입 교육(온보딩)을 받았습니다>에 담지 않은 결과가 있습니다. 온보딩 끝에 숙제가 있었던 것이죠.
숙제를 그대로 푸는 과정에서 CLAUDE.md 파일에 대해 조금 더 감이 생겼습니다.
그 이후에 클로드가 제안한 2단계를 읽었습니다. 정확히 말하면 Claude Code Ultimate Guide를 클로드가 먼저 읽고 제시한 단계입니다. 하지만, 도구를 깊이 알다가는 바이브(혹은 동력)를 잃을 것 같아 학습은 멈추기로 합니다.
그러고 나서 제가 프로젝트에 대해 알고 있는 사항을 클로드 코드가 똑같이 알고 있는지 확인하는 질문을 던졌습니다.
같은 한국말이지만 서로 다른 말을 하고 있습니다.
앞서 클로드 코드 첫 경험을 하고 나서 구상한 짜임새에 맞춰서 웹의 엔드포인트만 구분했었는데, 일단 현재 기술 스택 안에서는 앱의 탭과 화면에 대응되는 라우트route의 형태로 구현되어 있었습니다. 용어를 맞춰야지 했다가 다시 보니 앱으로 아예 구분하는 것이 제 관점을 적절히 투영한 구현이라는 생각이 들었습니다.
그래서 요구를 했더니 클로드 코드가 두 개의 옵션을 제시했고, 저는 권장으로 표기된 모노레포를 선택했습니다.
수많은 파일을 생성하는데, 다 파악하며 따라갈 수는 없었습니다. 다행히도 4개의 Tasks로 묶어서 윤곽이나마 이해할 수 있다는 점입니다.
네트워크가 좋지 않은 곳에서 일하다 보니 오래 걸린다는 생각이 들었습니다. 그 틈을 타고 10여 년 전에 다수의 개발자들은 프레임워크 설정과 공통 코드를 모두 제공해야 기능을 추가할 수 있었던 상황이 떠올랐습니다. 그와 대비해 보니 프로젝트 구성에 대해 단박에 알아듣고 고쳐주는 장면은 격세지감隔世之感[1]을 느끼게 해 줍니다.
변경된 구조에 대한 설명과 함께 앱 실행 방법을 제시해서 그대로 해 볼 수 있었습니다.
핵심 변경 사항 요약도 제공합니다.
여기까지 직접 코드를 열어 보지 않고 클로드 코드를 이용해서 앞서 구상한 짜임새에 맞춰 구조를 바꾸는 리팩토링을 했습니다.
위에 인용한 그림에서 (3)번으로 표기한 부분만 문제가 있었습니다. 기록을 남기지 않았지만, 커버리지 보고를 추가할 때 처음으로 클로드 코드가 버벅거리는 경험을 하게 되었기 때문에 바로 진행하지 않고 멈춘 후에 다시 개선을 재개할 예정입니다.
[1] <낱말의 뜻을 깊고 넓게 묻고 따지는 일의 소중함> 실천을 위해 한자사전을 찾습니다.
2. 이건 정말 편안하게 페어 프로그래밍을 하는 기분이다
4. 코드 수정은 커서에게, 코드 설명은 클로드에게 묻기