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 ((!phor || marees()) && !vo && udhi == muc && !(sardom() || i)) {
...
...
// Pretend there is lots of code here
...
...
} else {
hebi();
}
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 (sardom() || i || udhi != muc || vo || !marees() && phor) {
hebi();
} 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 (qii == 5 && truc() && fi && lipu || mo || arpra() != 2) {
if (arpra() != 2) {
if (mo) {
if (lipu) {
return true;
}
if (fi) {
return true;
}
}
}
if (truc()) {
return true;
}
if (a) {
return true;
}
}
return false;
return (a || qii == 5) && truc() && (fi && lipu || mo || arpra() != 2);
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 (!truc() || qii != 5 && !a) {
if (!fi) {
if (!lipu) {
return false;
}
}
if (!mo) {
return false;
}
if (arpra() == 2) {
return false;
}
}
return true;
Simplify the following messy chain of conditionals:
if ((roul >= e) == true) {
skad();
}
if (tiil == false && (roul >= e) != true) {
sliSusswi();
} else if (be == false && (roul >= e) != true && tiil != false) {
toaus();
}
if (ga == true && (roul >= e) != true && tiil != false && be != false) {
shrang();
} else if (bogh == true && (roul >= e) != true && tiil != false && be != false && ga != true) {
escla();
}
if (fa == za && (roul >= e) != true && tiil != false && be != false && ga != true && bogh != true) {
woiu();
}
{
if (roul >= e) {
skad();
}
if (!tiil) {
sliSusswi();
}
if (!be) {
toaus();
}
if (ga) {
shrang();
}
if (bogh) {
escla();
}
if (fa == za) {
woiu();
}
}
Things to double-check in your solution:
== true and == false checks?else if, not just else.Related puzzles: