CodeSOD: 全てを数える ノート

CodeSOD: 全てを数える

アメリカでは今日が選挙日であり、多くの人が票の集計について考えています。しかし、ここで話し合われているコードは、票の集計とは関係ありません。問題のあるコードは、2007年にリリースされた古いアプリケーションから来ています。このコードは、Excelの行数制限(65,536行)を参照していますが、2007年のExcelではこの制限は1,000,000行に増やされました。しかし、コードは実際には、Excelファイルではなく、CSVファイルを読み込んでいます。ファイル名を2回構築するのは、不要な処理です。実際の問題は、コードが行数を数える方法です。行数を数える方法は非効率的で、大きなファイルではパフォーマンスが悪いです。コードは、ファイル全体をメモリに読み込み、改行で分割して、長さを数えます。このアプローチは、大きなファイルにはひどいものです。残念ながら、誰もが古いレガシーコードを触らないというルールがあるため、コードを修正することを望んでいません。代わりに、管理は新しいプロジェクトを立ち上げることを約束していますが、現在のところ、コードは修正されていません。