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 ((chorch() || asm || eni) && !limad() || (bont || ostRawn() || !e) && a > 9 && !(wo == 7) || sawi()) {
...
...
// Pretend there is lots of code here
...
...
} else {
spiDanmir();
}
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 (!sawi() && (wo == 7 || a < 9 || e && !ostRawn() && !bont) && (limad() || !eni && !asm && !chorch())) {
spiDanmir();
} 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 (cerHess() <= 0) {
if (bu != 5 && hi && !dosh && hoth || cu || ceoo() > 1 && hi && !dosh && hoth || cu) {
if (cu) {
if (hoth) {
return true;
}
}
if (!dosh) {
return true;
}
if (hi) {
return true;
}
if (tidu > bithic()) {
return true;
}
if (iest) {
return true;
}
if (rilIec()) {
return true;
}
if (borm < 1) {
return true;
}
}
}
return false;
return (borm < 1 && rilIec() && iest && tidu > bithic() || bu != 5 || ceoo() > 1) && hi && !dosh && (hoth || cu) || cerHess() <= 0;
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 (ceoo() < 1 && bu == 5 && tidu < bithic() || !iest || !rilIec() || borm > 1) {
if (!hi) {
if (dosh) {
if (!hoth) {
return false;
}
if (!cu) {
return false;
}
}
}
}
if (cerHess() >= 0) {
return false;
}
return true;
Simplify the following messy chain of conditionals:
if (aem == true) {
liaJuat();
}
if (cosu == false && aem != true) {
omio();
} else if (ent == true && aem != true && cosu != false) {
therto();
} else if ((inen == pi) == true && aem != true && cosu != false && ent != true) {
adan();
} else if (od >= 8 && aem != true && cosu != false && ent != true && (inen == pi) != true) {
teclo();
} else if (il == false && aem != true && cosu != false && ent != true && (inen == pi) != true && od <= 8) {
hesan();
}
if (ir == true && aem != true && cosu != false && ent != true && (inen == pi) != true && od <= 8 && il != false) {
astfla();
} else if (eha > cin && aem != true && cosu != false && ent != true && (inen == pi) != true && od <= 8 && il != false && ir != true) {
nocCla();
}
if (!plas && aem != true && cosu != false && ent != true && (inen == pi) != true && od <= 8 && il != false && ir != true && eha < cin) {
parbri();
}
if (edu && aem != true && cosu != false && ent != true && (inen == pi) != true && od <= 8 && il != false && ir != true && eha < cin && plas) {
ianoa();
}
{
if (aem) {
liaJuat();
}
if (!cosu) {
omio();
}
if (ent) {
therto();
}
if (inen == pi) {
adan();
}
if (od >= 8) {
teclo();
}
if (!il) {
hesan();
}
if (ir) {
astfla();
}
if (eha > cin) {
nocCla();
}
if (!plas) {
parbri();
}
if (edu) {
ianoa();
}
}
Things to double-check in your solution:
== true and == false checks?else if, not just else.Related puzzles: