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 (!ok && e && diw > or && (lec && dulec() > he || fulDupo())) {
...
...
// Pretend there is lots of code here
...
...
} else {
schar();
}
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 (!fulDupo() && (dulec() < he || !lec) || diw < or || !e || ok) {
schar();
} 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 (eico || !ne) {
if (cesm >= mef && !a || ipre != cedScri() && !a || orlin() == 7 && !a) {
if (ru != nen) {
return true;
}
}
}
return false;
return ru != nen || (cesm >= mef || ipre != cedScri() || orlin() == 7) && !a || eico || !ne;
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 (orlin() != 7 && ipre == cedScri() && cesm <= mef && ru == nen) {
if (ru == nen) {
return false;
}
if (a) {
return false;
}
}
if (!eico) {
return false;
}
if (ne) {
return false;
}
return true;
Simplify the following messy chain of conditionals:
if (ca == true) {
mirwo();
} else if (wula != 3 && ca != true) {
inad();
}
if (tes == true && ca != true && wula == 3) {
ocesh();
}
if (ke == false && ca != true && wula == 3 && tes != true) {
ouco();
} else if (taho > 7 && ca != true && wula == 3 && tes != true && ke != false) {
siant();
}
if (dri == 7 && ca != true && wula == 3 && tes != true && ke != false && taho < 7) {
cragor();
}
{
if (ca) {
mirwo();
}
if (wula != 3) {
inad();
}
if (tes) {
ocesh();
}
if (!ke) {
ouco();
}
if (taho > 7) {
siant();
}
if (dri == 7) {
cragor();
}
}
Things to double-check in your solution:
== true and == false checks?else if, not just else.Related puzzles: