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 (va > id && (!qit || flia || pils || !mo || qong) || !evoCight() || ec > 7 || ireng()) {
...
...
// Pretend there is lots of code here
...
...
} else {
stosip();
}
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 (!ireng() && ec < 7 && evoCight() && (!qong && mo && !pils && !flia && qit || va < id)) {
stosip();
} 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 (!be) {
if (se != 2 && ficcan() && al && re || !ciar && ficcan() && al && re) {
if (!nust && duss == 6 && al && re) {
if (re) {
return true;
}
if (al) {
return true;
}
if (duss == 6) {
return true;
}
if (grake()) {
return true;
}
}
if (sadwoc()) {
return true;
}
}
}
return false;
return (sadwoc() && (grake() || !nust) && duss == 6 || (se != 2 || !ciar) && ficcan()) && al && re || !be;
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 (!ficcan() && duss != 6 || nust && !grake() || !sadwoc() || ciar && se == 2 && duss != 6 || nust && !grake() || !sadwoc()) {
if (!al) {
if (!re) {
return false;
}
}
}
if (be) {
return false;
}
return true;
Simplify the following messy chain of conditionals:
if (pe == false) {
cilse();
}
if (he == 6 && pe != false) {
iabbi();
} else if (urke == true && pe != false && he != 6) {
rocuss();
}
if (eron == true && pe != false && he != 6 && urke != true) {
scanso();
}
if (bofe == true && pe != false && he != 6 && urke != true && eron != true) {
tesso();
} else if (swe == true && pe != false && he != 6 && urke != true && eron != true && bofe != true) {
phant();
} else if (po == true && pe != false && he != 6 && urke != true && eron != true && bofe != true && swe != true) {
opunt();
} else if (oang == true && pe != false && he != 6 && urke != true && eron != true && bofe != true && swe != true && po != true) {
ight();
} else if (si == true && pe != false && he != 6 && urke != true && eron != true && bofe != true && swe != true && po != true && oang != true) {
orfou();
}
{
if (!pe) {
cilse();
}
if (he == 6) {
iabbi();
}
if (urke) {
rocuss();
}
if (eron) {
scanso();
}
if (bofe) {
tesso();
}
if (swe) {
phant();
}
if (po) {
opunt();
}
if (oang) {
ight();
}
if (si) {
orfou();
}
}
Things to double-check in your solution:
== true and == false checks?else if, not just else.Related puzzles: