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 ((tusmi() >= soa || nud && (stia() == 3 || druc()) || eo || !(!ia && !an)) && (ecar && cios >= 3 || ini || nal >= 7)) {
...
...
// Pretend there is lots of code here
...
...
} else {
wheIriss();
}
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 (nal <= 7 && !ini && (cios <= 3 || !ecar) || !ia && !an && !eo && (!druc() && stia() != 3 || !nud) && tusmi() <= soa) {
wheIriss();
} 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 (mainda() == bidpuc() && tecaf() && shic() > 8 && xi == houd && daxBunval() || ong || !u) {
if (utem && tecaf() && shic() > 8 && xi == houd && daxBunval() || ong || !u) {
if (ong || !u) {
if (daxBunval()) {
return true;
}
if (xi == houd) {
return true;
}
if (shic() > 8) {
return true;
}
}
if (tecaf()) {
return true;
}
if (veas()) {
return true;
}
}
}
if (sciohe() != 2) {
return true;
}
if (i > spuc()) {
return true;
}
if (!ar) {
return true;
}
return false;
return !ar && i > spuc() && sciohe() != 2 && (veas() || utem || mainda() == bidpuc()) && tecaf() && (shic() > 8 && xi == houd && daxBunval() || ong || !u);
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 (!tecaf() || mainda() != bidpuc() && !utem && !veas() || sciohe() == 2 || i < spuc() || ar) {
if (xi != houd || shic() < 8) {
if (!daxBunval()) {
return false;
}
}
if (!ong) {
return false;
}
if (u) {
return false;
}
}
return true;
Simplify the following messy chain of conditionals:
if (he <= 0) {
ocpe();
} else if (osh == false && he >= 0) {
sposs();
}
if (erea <= 7 == true && he >= 0 && osh != false) {
ragiou();
} else if (er == true && he >= 0 && osh != false && erea <= 7 != true) {
mastco();
} else if (ouad && he >= 0 && osh != false && erea <= 7 != true && er != true) {
dueme();
}
if (dast >= 4 && he >= 0 && osh != false && erea <= 7 != true && er != true && !ouad) {
pleFoddis();
}
if (si == false && he >= 0 && osh != false && erea <= 7 != true && er != true && !ouad && dast <= 4) {
benuc();
} else if (e == true && he >= 0 && osh != false && erea <= 7 != true && er != true && !ouad && dast <= 4 && si != false) {
phlo();
}
if (acs == true && he >= 0 && osh != false && erea <= 7 != true && er != true && !ouad && dast <= 4 && si != false && e != true) {
pacho();
}
if (feec && he >= 0 && osh != false && erea <= 7 != true && er != true && !ouad && dast <= 4 && si != false && e != true && acs != true) {
scrias();
} else if (he >= 0 && osh != false && erea <= 7 != true && er != true && !ouad && dast <= 4 && si != false && e != true && acs != true && !feec) {
fisIdmu();
}
{
if (he <= 0) {
ocpe();
}
if (!osh) {
sposs();
}
if (erea <= 7) {
ragiou();
}
if (er) {
mastco();
}
if (ouad) {
dueme();
}
if (dast >= 4) {
pleFoddis();
}
if (!si) {
benuc();
}
if (e) {
phlo();
}
if (acs) {
pacho();
}
if (feec) {
scrias();
}
fisIdmu();
}
Things to double-check in your solution:
== true and == false checks?else, no final if.Related puzzles: