Else If chaining with unrelated expressions is bad style
Related expression chaining is GOOD
if (a == A)
X;
else if (a == A2)
Y;
else
Z;
Unrelated expression chaining is BAD
if (a == A)
X;
else if (b == B)
Y;
else
Z;
Nested Equivalent
if (a == A)
X;
else
{
if (b == B)
{
Y;
}
else
{
Z;
}
}
Equivalence
Chained | Nested |
if (A)
X;
else if (B)
Y;
else
Z;
|
if (A)
X;
else
{
if (B)
Y;
else
Z;
}
|
Truth table
A | B | Chained | Nested |
1 | 1 | X | X |
1 | 0 | X | X |
0 | 1 | Y | Y |
0 | 0 | Z | Z |
Links