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 (nepu && dreou() && gocDasing() && (un || uu || !screr()) && !(codish() || ves >= 1) && briBivin() || ussphe()) {
...
...
// Pretend there is lots of code here
...
...
} else {
achpel();
}
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 (!ussphe() && (!briBivin() || codish() || ves >= 1 || screr() && !uu && !un || !gocDasing() || !dreou() || !nepu)) {
achpel();
} 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 (rifOpless() && prol > 7 && gran && naprad() || duat || eceft() && odir && naprad() || duat || micNaact() && odir && naprad() || duat) {
if (e) {
if (balmir()) {
if (pi == rafi) {
return true;
}
}
}
}
return false;
return pi == rafi || balmir() || e || rifOpless() && prol > 7 && (gran || (eceft() || micNaact()) && odir) && (naprad() || duat);
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 (!odir && !gran && !e && !balmir() && pi != rafi || !micNaact() && !eceft() && !gran && !e && !balmir() && pi != rafi || prol < 7 && !e && !balmir() && pi != rafi || !rifOpless() && !e && !balmir() && pi != rafi) {
if (pi != rafi) {
return false;
}
if (!balmir()) {
return false;
}
if (!e) {
return false;
}
if (!naprad()) {
return false;
}
if (!duat) {
return false;
}
}
return true;
Simplify the following messy chain of conditionals:
if (otch) {
cesEndioc();
}
if (cec == false && !otch) {
rucMilosh();
}
if (!su && !otch && cec != false) {
ilau();
}
if (dul != 8 && !otch && cec != false && su) {
cedpe();
} else if (stri == false && !otch && cec != false && su && dul == 8) {
ondIang();
}
if (ri == true && !otch && cec != false && su && dul == 8 && stri != false) {
rauda();
} else if (cupa == true && !otch && cec != false && su && dul == 8 && stri != false && ri != true) {
laci();
}
if (!ue && !otch && cec != false && su && dul == 8 && stri != false && ri != true && cupa != true) {
basman();
}
if (dra == false && !otch && cec != false && su && dul == 8 && stri != false && ri != true && cupa != true && ue) {
scang();
}
if (miur == true && !otch && cec != false && su && dul == 8 && stri != false && ri != true && cupa != true && ue && dra != false) {
sqaio();
}
{
if (otch) {
cesEndioc();
}
if (!cec) {
rucMilosh();
}
if (!su) {
ilau();
}
if (dul != 8) {
cedpe();
}
if (!stri) {
ondIang();
}
if (ri) {
rauda();
}
if (cupa) {
laci();
}
if (!ue) {
basman();
}
if (!dra) {
scang();
}
if (miur) {
sqaio();
}
}
Things to double-check in your solution:
== true and == false checks?else if, not just else.Related puzzles: