私は、データをループして、設定に基づいて特定の方法でフォーマットしているシナリオにいます。スタイル的に最適だと思うものがパフォーマンスを妨げる可能性があることを懸念しています。
コードの基本的なパターンは次のとおりです。
enum setting {single, multiple, foo, bar};
Data data = getData(Connection conn, int id);
setting blah = data.getSetting();
foreach (Item item in data)
{
switch(blah)
{
case blah.single:
processDataSingle(item blah);
break;
...
}
}
私の懸念は、データに何千、あるいは何万ものアイテムが存在する可能性があることです。繰り返し評価される可能性のあるループ内にスイッチがあると、重大なパフォーマンスの問題が発生する可能性があるのではないかと考えていました。switch
ループの前にを配置できることはわかっていますが、それぞれにループがcase
含まれているため、基本的な機能が同じままであることがわかりにくいため、読みにくくなっています。