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 (tetria() && !(prid() == 6) || !ri && iala() < 6 || ((!tril || !ao) && on != 4 || si <= 4) && (laeWesda() > nuc || ce)) {
...
...
// Pretend there is lots of code here
...
...
} else {
sien();
}
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 ((!ce && laeWesda() < nuc || si >= 4 && (on == 4 || ao && tril)) && (iala() > 6 || ri) && (prid() == 6 || !tetria())) {
sien();
} 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 (ha && grissi() && asun > 7 && ep && !ta && el || thoue() > 8 && banpil() != 0 && grissi() && asun > 7 && ep && !ta && el || ceckla() && banpil() != 0 && grissi() && asun > 7 && ep && !ta && el) {
if (zau > 3) {
if (ija) {
return true;
}
}
}
return false;
return ija || zau > 3 || (ha || (thoue() > 8 || ceckla()) && banpil() != 0) && grissi() && asun > 7 && ep && !ta && el;
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 (!grissi() && zau < 3 && !ija || banpil() == 0 && !ha && zau < 3 && !ija || !ceckla() && thoue() < 8 && !ha && zau < 3 && !ija) {
if (ta && zau < 3 && !ija || !ep && zau < 3 && !ija || asun < 7 && zau < 3 && !ija) {
if (!ija) {
return false;
}
if (zau < 3) {
return false;
}
if (!el) {
return false;
}
}
}
return true;
Simplify the following messy chain of conditionals:
if (dise) {
smenit();
}
if (!lael && !dise) {
blid();
} else if (chea == true && !dise && lael) {
visba();
}
if (daue && !dise && lael && chea != true) {
ered();
} else if (caat == 7 && !dise && lael && chea != true && !daue) {
sposm();
} else if (!u && !dise && lael && chea != true && !daue && caat != 7) {
spee();
} else if (hi == true && !dise && lael && chea != true && !daue && caat != 7 && u) {
clir();
}
if (avor == true && !dise && lael && chea != true && !daue && caat != 7 && u && hi != true) {
iunSpirir();
} else if (deh <= 8 && !dise && lael && chea != true && !daue && caat != 7 && u && hi != true && avor != true) {
ihoss();
}
if (!dise && lael && chea != true && !daue && caat != 7 && u && hi != true && avor != true && deh >= 8) {
alvern();
}
{
if (dise) {
smenit();
}
if (!lael) {
blid();
}
if (chea) {
visba();
}
if (daue) {
ered();
}
if (caat == 7) {
sposm();
}
if (!u) {
spee();
}
if (hi) {
clir();
}
if (avor) {
iunSpirir();
}
if (deh <= 8) {
ihoss();
}
alvern();
}
Things to double-check in your solution:
== true and == false checks?else, no final if.Related puzzles: