Claude가 코드베이스를 정리하도록 하는 것은 부끄러웠던 일이었습니다.
동일한 기능의 복사본이 12개 포함된 주말 프로젝트입니다. 나는 그것을 넘겨주고 물건이 깨지지 않는지 지켜 보았습니다.
프로젝트가 성공적으로 진행되었다는 점은 제가 말할 수 있는 유일한 좋은 점입니다. 12개의 파일 중 최소 4개에는 동일한 날짜 포맷터의 약간 다른 복사본이 포함되어 있습니다. 누구에게 보여주기가 부끄러워서 대신 클로드에게 보여줬어요.
본능은 '이걸 청소해'라고 말하는 것입니다. 이것이 의존하는 삭제된 기능으로 인해 주말을 잃는 방법입니다. 나는 그 반대로 했습니다. 모든 중복된 블록을 나열하고 병합이 얼마나 위험한지에 따라 순위를 매기도록 요청한 다음 무엇이든 만지기 전에 그 목록을 읽었습니다.
그런 다음 나는 제안하지 않고 제안했습니다. 각 리팩터링은 찾은 호출 사이트와의 차이점으로 제공되었으며 한 번에 하나씩 승인했습니다. 모델은 복제본을 찾는 데 능숙합니다. 시스템의 나머지 부분이 비밀리에 의존하는 복사본을 아는 것은 좋지 않습니다. 그 부분은 여전히 당신의 일입니다.
실제로 저를 구해준 것은 테스트였는데, 저는 아무 것도 없었습니다. 따라서 첫 번째 단계는 '포맷터의 작동을 증명하는 가장 작은 테스트 작성'을 한 다음 그 뒤에 리팩토링하는 것이었습니다. 그 그물이 없었다면 추측했을 것입니다. 그것으로 네 개의 복제물 중 세 개는 깔끔하게 무너졌고, 네 번째는 내가 잊어버린 방식으로 하중을 지탱하는 것으로 밝혀졌습니다.
코드를 아름답게 만들지는 못했습니다. 그것은 내가 다른 사람 앞에서 열 수 있는 것을 만들었습니다. 내가 숨겨왔던 프로젝트의 경우, 그것이 연습의 전체 요점이었습니다.