Futile conditional¶
ID: cs/useless-if-statement
Kind: problem
Security severity:
Severity: warning
Precision: very-high
Tags:
- reliability
- readability
Query suites:
- csharp-security-and-quality.qls
Click to see the query in the CodeQL repository
This rule finds If-statements where the “then” branch is empty and there is no “else” branch. These statements are usually unimplemented skeleton code that should be implemented, or real unused code that should be removed.
Recommendation¶
There might be missing statements in the then-branch or the If-statement might be able to be removed completely.
Example¶
class FutileConditional
{
static void Main(string[] args)
{
if (args.Length > 10) ; // BAD
if (args.Length > 8)
{
// BAD
}
if (args.Length > 6)
{
// GOOD: because of else-branch
}
else
{
System.Console.WriteLine("hello");
}
}
}
References¶
MSDN, C# Reference, if-else