In primo luogo, com'è questo:
if (cond1) {
...
} else if (cond2) {
NULL;
} else {
...
}
Meglio di:
if (cond1) {
...
} else if (cond2) {
} else {
...
}
Il NULL;
-statement non dice nulla, o lo fa?
In secondo luogo, come altri hanno sottolineato, non è necessario avere quel blocco vuoto, a meno che non sia necessario dire qualcosa sulla condizione o lasciare spazio per gestirlo.
Quindi questo ha perfettamente senso:
if (cond1) {
...
} else if (cond2) {
//cond2 is not handled, because 2 is the smallest prime number
} else {
...
}
O questo:
if (cond1) {
...
} else if (cond2) {
//TODO: investigate whether/how this condition needs to be handled
} else {
...
}
Tuttavia, una conseguenza vuota non documentata non ha alcuno scopo, indipendentemente dal fatto che tu scriva NULL;
o meno.
Infine, se ritieni di avere troppe condizioni, dovresti studiare in che modo i modelli comportamentali e il polimorfismo in generale potrebbero aiutarti a ripulire il tuo codice.