JetBrains Rider 2024.1 ヘルプ

コード検査: 整数分析によるヒューリスティックに到達できないケース

このインスペクションは、整数値分析の結果に従って実行されることのない switch ステートメントのケースを報告します。インスペクションは、JetBrains Rider 設定 Ctrl+Alt+Sエディター | インスペクション設定ページで整数演算を分析するが有効になっている場合にのみ機能します。

これは、メソッドパラメーターに [NonNegativeValueAttribute] でアノテーションを付けて、メソッド本体内の分析を改善する例です。パラメーターが負ではないことを知っている JetBrains Rider は、冗長なケースを報告できます。

void TestSwitch([NonNegativeValue] int input) { int newValue; switch (input) { case 0: newValue = 1; break; case -1: // Case is heuristically unavailable newValue = 0; break; default: newValue = input; break; } }

関連ページ:

コードインスペクション設定を構成する

設計時コードインスペクションを構成する:デフォルトでは、JetBrains Rider はサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかにかかわらず、コードインスペクションを特定の範囲でいつでも実行できます。「鉛筆」ウィジェットを使用して、エディターから直接インスペクション設定をすばやく調整するか、設定でより詳細な構成を行うことができます。を押すか、メニューから(W...

整数値の分析 (積分演算)

JetBrains Rider は、コード内の整数値のフローを追跡し、冗長または場合によっては誤ったステートメントを報告できます。すべての C# 整数数値型 — 、、、、 — をサポートし、次の問題について警告します。常にまたはに評価される関係 / 等式演算子、値をチェックする到達不能なケース、による乗算やの加算など、意味のない算術演算(リテラルまたは定数を除く): JetBrains Rider は、のような式が意図的なものであると想定しています)、オーバーフローの可能性、による除算の可能性、メソッド...