코드의 악몽: 모든 것을 세다 노트

코드의 악몽: 모든 것을 세다

오늘은 미국에서 선거일이며, 많은 사람들이 투표 결과 집계에 관심을 두고 있습니다. 하지만 여기서 논의되는 코드는 투표 결과 집계와 관련이 없습니다. 이 코드는 2007년에 출시된 오래된 애플리케이션에서 나온 것으로, 엑셀의 행 제한인 65,536행을 참조하고 있습니다. 하지만 엑셀 2007부터는 이 제한이 1,000,000행으로 증가했습니다. 그러나 이 코드는 실제로 CSV 파일을 읽고 있으며, 엑셀 파일이 아닙니다. 또한 파일 이름을 두 번 생성하는 것은 불필요합니다. 진짜 문제는 코드가 행을 세는 방식입니다. 이 방식은 비효율적이며 대용량 파일에서는 성능이 매우 나쁩니다. 코드는 파일 전체를 메모리에 읽어들여서, 개행 문자로 분리한 후 길이를 세는 방식을 사용합니다. 이 접근 방식은 대용량 파일에 매우 나쁩니다. 불행히도, 오래된 레거시 코드에 대한 "건드리지 마"라는 규칙 때문에 아무도 코드를 수정하고 싶어하지 않습니다. 대신, 관리층은 새로운 대체 프로젝트를 출시할 것이라고 약속했지만, 현재로서는 코드는 수정되지 않은 채로 남아 있습니다.