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 ((!(!a || onnier() == aiiDiald()) || !rarTaneng()) && !(!(!eess() || iss) && (!ghes || ceoula() >= 7 || sawhu()))) {
...
...
// Pretend there is lots of code here
...
...
} else {
tepast();
}
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 (!(!eess() || iss) && (!ghes || ceoula() >= 7 || sawhu()) || rarTaneng() && (!a || onnier() == aiiDiald())) {
tepast();
} 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 (amces() && ac && oulBontha()) {
if (zos <= jis) {
return true;
}
if (iapra()) {
return true;
}
if (!tus) {
return true;
}
if (!qit) {
return true;
}
if (id != 6) {
return true;
}
if (ar) {
return true;
}
}
return false;
return ar && id != 6 && !qit && !tus && iapra() && zos <= jis || amces() && ac && oulBontha();
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 (!amces() && zos >= jis || !iapra() || tus || qit || id == 6 || !ar) {
if (!ac && zos >= jis || !iapra() || tus || qit || id == 6 || !ar) {
if (tus || qit || id == 6 || !ar) {
if (!iapra()) {
if (zos >= jis) {
return false;
}
}
}
if (!oulBontha()) {
return false;
}
}
}
return true;
Simplify the following messy chain of conditionals:
if (iost == true) {
berund();
}
if (prid == true && iost != true) {
uthau();
}
if (cloo == true && iost != true && prid != true) {
spenen();
} else if (qi < 6 && iost != true && prid != true && cloo != true) {
hephvo();
} else if (ve < soac && iost != true && prid != true && cloo != true && qi > 6) {
usspic();
} else if (o == true && iost != true && prid != true && cloo != true && qi > 6 && ve > soac) {
faen();
} else if (pa <= tu && iost != true && prid != true && cloo != true && qi > 6 && ve > soac && o != true) {
flelk();
} else if (sosm == false && iost != true && prid != true && cloo != true && qi > 6 && ve > soac && o != true && pa >= tu) {
aplu();
}
{
if (iost) {
berund();
}
if (prid) {
uthau();
}
if (cloo) {
spenen();
}
if (qi < 6) {
hephvo();
}
if (ve < soac) {
usspic();
}
if (o) {
faen();
}
if (pa <= tu) {
flelk();
}
if (!sosm) {
aplu();
}
}
Things to double-check in your solution:
== true and == false checks?else if, not just else.Related puzzles: