コード検査: ループ制御変数はループ内で決して変更されない
このインスペクションは、制約されていないループを報告します — それらはすぐに失敗するか、無期限に実行されます。次のコードスニペット
public void Test(bool condition)
{
while(condition)
{
// do something
}
}
ループ変数 condition
は変化しないため、ループは無期限に実行されます (たとえば、例外が発生しない限り)。この合成例では問題は明らかですが、ループ内に大量のコードがある場合、実行時にプログラムがハングするまで気付かない可能性があります。
関連ページ:
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、JetBrains Rider はサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかにかかわらず、コードインスペクションを特定の範囲でいつでも実行できます。「鉛筆」ウィジェットを使用して、エディターから直接インスペクション設定をすばやく調整するか、設定でより詳細な構成を行うことができます。を押すか、メニューから(W...
コード検査: ループは LINQ 式に変換できます
JetBrains Rider がループで反復処理していると判断すると、このループを LINQ 式に変換することができます。例: 次のコード:int c = 1; for (int i = 0; i < numbers.Length; ++i) c *= numbers[i]; 自動的に int c = numbers.Aggregate(1, (current, t) => current*t);JetBrains Rider は通常、ループ内で定義されている演算をどの LINQ 演...