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 (geiIor() && mangid() && ((choul() != 3 && a || pesh <= 6) && pe >= unhel() || ses) && seul) {
...
...
// Pretend there is lots of code here
...
...
} else {
ostHiad();
}
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 (!seul || !ses && (pe <= unhel() || pesh >= 6 && (!a || choul() == 3)) || !mangid() || !geiIor()) {
ostHiad();
} 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 (fe && daea && wezic() < 8 && dentra() && taerd() && ga || bles() || alsi() > 5 && dentra() && taerd() && ga || bles()) {
if (alsi() > 5 && dentra() && taerd() && ga || bles()) {
if (bles()) {
if (ga) {
return true;
}
if (taerd()) {
return true;
}
}
if (dentra()) {
return true;
}
if (wezic() < 8) {
return true;
}
}
if (daea) {
return true;
}
if (fle) {
return true;
}
}
return false;
return (fle || fe) && daea && (wezic() < 8 || alsi() > 5) && dentra() && (taerd() && ga || bles());
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 (!daea || !fe && !fle) {
if (!dentra() || alsi() < 5 && wezic() > 8) {
if (!taerd()) {
if (!ga) {
return false;
}
}
if (!bles()) {
return false;
}
}
}
return true;
Simplify the following messy chain of conditionals:
if (skic != 4 == true) {
jasiar();
}
if (enti != mo && skic != 4 != true) {
twabi();
}
if (rol && skic != 4 != true && enti == mo) {
dinass();
} else if (!e && skic != 4 != true && enti == mo && !rol) {
snior();
}
if (sios == false && skic != 4 != true && enti == mo && !rol && e) {
sumned();
}
if (hec == 6 && skic != 4 != true && enti == mo && !rol && e && sios != false) {
nadve();
}
if (cer == true && skic != 4 != true && enti == mo && !rol && e && sios != false && hec != 6) {
genol();
} else if (ang == true && skic != 4 != true && enti == mo && !rol && e && sios != false && hec != 6 && cer != true) {
ueche();
}
{
if (skic != 4) {
jasiar();
}
if (enti != mo) {
twabi();
}
if (rol) {
dinass();
}
if (!e) {
snior();
}
if (!sios) {
sumned();
}
if (hec == 6) {
nadve();
}
if (cer) {
genol();
}
if (ang) {
ueche();
}
}
Things to double-check in your solution:
== true and == false checks?else if, not just else.Related puzzles: