コード検査: 共通コードを抽出する
このインスペクションは、if
および switch
ステートメントの異なるブランチ内の同等のコードを報告します。対応するクイックフィックスは、重複したコードを自動的に抽出し、分岐の前または後に配置できます。
同等のコードが意図されている場合、共通のステートメントを統合すると、コードがわかりやすくなり、保守しやすくなります。ただし、分岐構造内の同等のコードはコピーアンドペーストの結果であることが多いため、このインスペクションはバグの検出にも役立ちます。コードでこの問題が見つかった場合は、まず同等のコードが意図されているかどうかを確認してください。
void GreetCustomer(string name, bool known)
{
var sb = new StringBuilder();
if (known)
{
sb.AppendLine($"Hello, {name}!");
sb.AppendLine("Welcome back!");
}
else
{
sb.AppendLine($"Hello, {name}!");
sb.AppendLine("Welcome!");
}
Console.WriteLine(sb.ToString());
}
void GreetCustomer(string name, bool known)
{
var sb = new StringBuilder();
sb.AppendLine($"Hello, {name}!");
if (known)
{
sb.AppendLine("Welcome back!");
}
else
{
sb.AppendLine("Welcome!");
}
Console.WriteLine(sb.ToString());
}
関連ページ:
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...
コード検査: エスケープシーケンスを簡略化できる
このインスペクションは、文字列リテラル内の文字コードの使用状況を報告し、リテラルを読みやすくするために、対応するエスケープシーケンスに置き換えることを提案します。Console.WriteLine(