An empty code block is confusing. It will require some effort from maintainers to determine if it is intentional or indicates the implementation is
incomplete.
void foo()
{
int x;
if (x == 42)
// Noncompliant - the following nested block is empty
{
}
else
{
doSomething();
}
}
Removing or filling the empty code blocks takes away ambiguity and generally results in a more straightforward and less surprising code.
void foo()
{
int x;
if (x != 42)
{
doSomething();
}
}
Exceptions
- The rule ignores code blocks that contain comments.
- Functions are not nested blocks, so they can be empty.
void bar()
// Compliant - functions are not nested blocks
{
}