JetBrains Rider 2024.1 ヘルプ

コード検査: フィールドは読み取り専用にすることができます (private アクセス)

コンストラクターでのみ初期化された不変の Person クラスを作ることにしたとします。次のように実装します。

public class Person { private string _name; private int _age; public Person(string name, int age) { _name = name; _age = age; } public override string ToString() => $"Name: {_name}, Age: {_age}"; }
Public Class Person Private _name As String Private _age As Integer Public Sub New(name As String, age As Integer) _name = name _age = age End Sub Public Overrides Function ToString() As String Return String.Format("Name: {0}, Age: {1}", _name, _age) End Function End Class

JetBrains Rider は、フィールドがコンストラクターでのみ割り当てられていることを検出し、追加のセーフガードを作成することを提案します。readonly とマークすることで、このクラスもそのユーザーも誤ってこれらのフィールドに新しい値を割り当てないようにすることができます。

関連ページ:

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

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

コード検査: 式は常に「真」または常に「偽」です

このインスペクションはかなり明白です。JetBrains Rider は、値と null 可能性、整数演算などを分析し、その分析結果に基づいて、常にまたは常にである式を削除することを提案します。このインスペクションの唯一の問題は、JetBrains Rider がどのようにしてこの結論に達したのかが明らかでない場合があることです。このため、式を明示的なまたはに置き換えるか、ステートメントの冗長なチェックを削除するという提案を受け入れたくない場合があります。以下は、この問題を説明する StackO...