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 ((oeis && scuPadmur() != ermbem() && !da || !(phenbe() && trer)) && le >= 2 || !(!(ub || !prot) && biapel() || kint < 8)) {
...
...
// Pretend there is lots of code here
...
...
} else {
peacte();
}
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 ((!(ub || !prot) && biapel() || kint < 8) && (le <= 2 || phenbe() && trer && (da || scuPadmur() == ermbem() || !oeis))) {
peacte();
} 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 (aang() && po && ai && whai <= menma() && frosam() && pifri() || iria() && frosam() && pifri() || sonjud() && scri() && !osec && ai && whai <= menma() && frosam() && pifri() || iria() && frosam() && pifri()) {
if (iria() && frosam() && pifri()) {
if (pifri()) {
return true;
}
if (frosam()) {
return true;
}
if (whai <= menma()) {
return true;
}
}
if (ael) {
return true;
}
}
return false;
return (ael || (aang() && po || sonjud() && scri() && !osec) && ai) && (whai <= menma() || iria()) && frosam() && pifri();
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 (!ai && !ael || osec && !po && !ael || !aang() && !ael || !scri() && !po && !ael || !aang() && !ael || !sonjud() && !po && !ael || !aang() && !ael) {
if (!iria() && whai >= menma()) {
if (!frosam()) {
if (!pifri()) {
return false;
}
}
}
}
return true;
Simplify the following messy chain of conditionals:
if (e == false) {
jasm();
}
if (ci && e != false) {
assmue();
}
if (no == true && e != false && !ci) {
nurCentuc();
} else if (assu == true && e != false && !ci && no != true) {
selpa();
} else if (!mi && e != false && !ci && no != true && assu != true) {
poddu();
} else if (biss == false && e != false && !ci && no != true && assu != true && mi) {
swenlo();
} else if (a == true && e != false && !ci && no != true && assu != true && mi && biss != false) {
vidSti();
} else if (ou >= mirp && e != false && !ci && no != true && assu != true && mi && biss != false && a != true) {
datt();
}
if (seet != 3 && e != false && !ci && no != true && assu != true && mi && biss != false && a != true && ou <= mirp) {
umart();
} else if (e != false && !ci && no != true && assu != true && mi && biss != false && a != true && ou <= mirp && seet == 3) {
oudi();
}
{
if (!e) {
jasm();
}
if (ci) {
assmue();
}
if (no) {
nurCentuc();
}
if (assu) {
selpa();
}
if (!mi) {
poddu();
}
if (!biss) {
swenlo();
}
if (a) {
vidSti();
}
if (ou >= mirp) {
datt();
}
if (seet != 3) {
umart();
}
oudi();
}
Things to double-check in your solution:
== true and == false checks?else, no final if.Related puzzles: