コード検査: 取得したロックの順序に一貫性がない
クラスにスレッドセーフを実現するためにロックで保護された複数のリソースがある場合、JetBrains Rider はマルチスレッド環境で可能な実行パスを分析し(クラスのパブリック API を複数のスレッドで同時に使用できると想定)、そのような実行パスで取得されるロックの順序を次の例に示すように、実行時にデッドロックが発生する可能性のあるサイクルを見つけます。警告メッセージは、形成される可能性のあるサイクルの詳細な説明と例を提供します。
関連ページ:
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、JetBrains Rider はサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかにかかわらず、コードインスペクションを特定の範囲でいつでも実行できます。「鉛筆」ウィジェットを使用して、エディターから直接インスペクション設定をすばやく調整するか、設定でより詳細な構成を行うことができます。を押すか、メニューから(W...
コード検査: パス文字列補間式
C# 6.0 で導入された文字列補間式機能の最大の欠点の 1 つは、文字列のフォーマットを効率的に遅延させ、補間された文字列式のコンシューマーに委譲できないことでした。これは、実行時にロギングレベルを変更できるロギングフレームワークで重要です。この場合、ロギングが無効になっているときに頻繁なロギング呼び出しでリソースを浪費したくありません。// works fast if the VERBOSE level is disabled Logger.Verbose("info = {0}", obj...