org.sonar.plugins.csharp.S1862.html Maven / Gradle / Ivy
Why is this an issue?
A chain of if/else
if statements is evaluated from top to bottom. At most, only one branch will be executed: the first statement with a condition that evaluates to
true
. Therefore, duplicating a condition leads to unreachable code inside the duplicated condition block. Usually, this is due to a
copy/paste error.
The result of such duplication can lead to unreachable code or even to unexpected behavior.
How to fix it
Code examples
Noncompliant code example
if (param == 1)
{
OpenWindow();
}
else if (param == 2)
{
CloseWindow();
}
else if (param == 1) // Noncompliant: condition has already been checked
{
MoveWindowToTheBackground(); // unreachable code
}
Compliant solution
if (param == 1)
{
OpenWindow();
}
else if (param == 2)
{
CloseWindow();
}
else if (param == 3)
{
MoveWindowToTheBackground();
}
Resources
Documentation
© 2015 - 2024 Weber Informatics LLC | Privacy Policy