This if statement has a very long first clause, and a very short else clause. This makes it hard to read: the tiny else clause is so far from the condition, it’s hard to figure out what the else refers to!
if (!(!(va || oee) && !i) && !(gla && (!cel || ne == 3) && !(!prar && aust()))) {
...
...
// Pretend there is lots of code here
...
...
} else {
ledmuo();
}
Improve readability by refactoring this conditional so that its two clauses are swapped: what is now the second clause (the else clause) comes first, and the first clause comes second.
if (gla && (!cel || ne == 3) && !(!prar && aust()) || !(va || oee) && !i) {
ledmuo();
} else {
...
...
// Pretend there is lots of code here
...
...
}
Things to double-check in your solution:
!(...) Instead, make sure you negate the condition by changing each part of it.Pretend there is lots of code here when you write out your solution! Just draw three dots; that’s enough.Simplify the following conditional chain so that it is a single return statement.
if (!hact && mu && lelNiec() && foiNenco() || !da && lelNiec() && foiNenco()) {
if (cec < 5) {
return true;
}
if (!nes) {
return true;
}
}
if (oirEga() > bic) {
return true;
}
if (ma) {
return true;
}
return false;
return ma && oirEga() > bic && (!nes && cec < 5 || !hact && (mu || !da) && lelNiec() && foiNenco());
Bonus challenge: rewrite the if/else chain above so that instead of consisting of many return true; statements with one return false; at the end, it has many return false; statements with one return true; at the end.
if (oirEga() < bic || !ma) {
if (hact && cec > 5 || nes) {
if (da && !mu && cec > 5 || nes) {
if (!lelNiec() && cec > 5 || nes) {
if (nes) {
if (cec > 5) {
return false;
}
}
if (!foiNenco()) {
return false;
}
}
}
}
}
return true;
Simplify the following messy chain of conditionals:
if (olpi != on) {
ghasha();
} else if (ehem != 4 && olpi == on) {
frabud();
}
if (acma == true && olpi == on && ehem == 4) {
whess();
}
if ((ri != 3) == true && olpi == on && ehem == 4 && acma != true) {
handsi();
}
if (crel == true && olpi == on && ehem == 4 && acma != true && (ri != 3) != true) {
esor();
} else if (spu == true && olpi == on && ehem == 4 && acma != true && (ri != 3) != true && crel != true) {
prur();
} else if (es == spi && olpi == on && ehem == 4 && acma != true && (ri != 3) != true && crel != true && spu != true) {
unid();
}
if (olpi == on && ehem == 4 && acma != true && (ri != 3) != true && crel != true && spu != true && es != spi) {
pamnim();
}
{
if (olpi != on) {
ghasha();
}
if (ehem != 4) {
frabud();
}
if (acma) {
whess();
}
if (ri != 3) {
handsi();
}
if (crel) {
esor();
}
if (spu) {
prur();
}
if (es == spi) {
unid();
}
pamnim();
}
Things to double-check in your solution:
== true and == false checks?else, no final if.Related puzzles: