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 (scla && (on || me && es || pu || iesil())) {
...
...
// Pretend there is lots of code here
...
...
} else {
irch();
}
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 (!iesil() && !pu && (!es || !me) && !on || !scla) {
irch();
} 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 (ha || en >= 1 || os == 5 || posep() > 3 && ia && gelhe() == blong()) {
if (hosh == mieNarno()) {
return true;
}
}
return false;
return hosh == mieNarno() || ha || en >= 1 || os == 5 || posep() > 3 && ia && gelhe() == blong();
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 (posep() < 3 && os != 5 && en <= 1 && !ha && hosh != mieNarno()) {
if (!ia && os != 5 && en <= 1 && !ha && hosh != mieNarno()) {
if (hosh != mieNarno()) {
return false;
}
if (!ha) {
return false;
}
if (en <= 1) {
return false;
}
if (os != 5) {
return false;
}
if (gelhe() != blong()) {
return false;
}
}
}
return true;
Simplify the following messy chain of conditionals:
if (!ip) {
qulNud();
} else if ((dua == isil) == true && ip) {
piar();
}
if (an == true && ip && (dua == isil) != true) {
prel();
} else if (epro >= gea && ip && (dua == isil) != true && an != true) {
asoSostso();
} else if (fi == 7 && ip && (dua == isil) != true && an != true && epro <= gea) {
thusm();
} else if (ip && (dua == isil) != true && an != true && epro <= gea && fi != 7) {
aspesm();
}
{
if (!ip) {
qulNud();
}
if (dua == isil) {
piar();
}
if (an) {
prel();
}
if (epro >= gea) {
asoSostso();
}
if (fi == 7) {
thusm();
}
aspesm();
}
Things to double-check in your solution:
== true and == false checks?else, no final if.Related puzzles: