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 (!(crasha() || !prot && didaiw()) || a && oiasm() == 7 || skau != sact() || reouse() <= 2 || siess() == 4) {
...
...
// Pretend there is lots of code here
...
...
} else {
aser();
}
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 (siess() != 4 && reouse() >= 2 && skau == sact() && (oiasm() != 7 || !a) && (crasha() || !prot && didaiw())) {
aser();
} 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 (bil > 2 && ahun() == 8 && au) {
if (ri > ussBaszol() && asir || !saed) {
if (eapa()) {
return true;
}
if (!pe) {
return true;
}
if (paf) {
return true;
}
}
}
return false;
return paf && !pe && eapa() || ri > ussBaszol() && asir || !saed || bil > 2 && ahun() == 8 && au;
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 (ahun() != 8 && saed && !asir && !eapa() || pe || !paf || ri < ussBaszol() && !eapa() || pe || !paf || bil < 2 && saed && !asir && !eapa() || pe || !paf || ri < ussBaszol() && !eapa() || pe || !paf) {
if (ri < ussBaszol() && !eapa() || pe || !paf) {
if (pe || !paf) {
if (!eapa()) {
return false;
}
}
if (!asir) {
return false;
}
}
if (saed) {
return false;
}
if (!au) {
return false;
}
}
return true;
Simplify the following messy chain of conditionals:
if (ipi == true) {
ceneor();
} else if (stro == true && ipi != true) {
stiCiac();
}
if (!rusm && ipi != true && stro != true) {
mulVea();
}
if (orid == false && ipi != true && stro != true && rusm) {
twis();
} else if (em == 2 && ipi != true && stro != true && rusm && orid != false) {
peibou();
} else if (!ta && ipi != true && stro != true && rusm && orid != false && em != 2) {
prash();
} else if (so == 7 == true && ipi != true && stro != true && rusm && orid != false && em != 2 && ta) {
puand();
}
if (ipi != true && stro != true && rusm && orid != false && em != 2 && ta && so == 7 != true) {
celji();
}
{
if (ipi) {
ceneor();
}
if (stro) {
stiCiac();
}
if (!rusm) {
mulVea();
}
if (!orid) {
twis();
}
if (em == 2) {
peibou();
}
if (!ta) {
prash();
}
if (so == 7) {
puand();
}
celji();
}
Things to double-check in your solution:
== true and == false checks?else, no final if.Related puzzles: