コードインスペクション:共通コードの抽出
このインスペクションは、 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());
}
2026 年 6 月 12 日