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 (ba || ilzou() || sa < 9 && po || !((votGaco() || !purm) && acen() > ar || eurBrarmi())) {
...
...
// Pretend there is lots of code here
...
...
} else {
husOss();
}
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 (((votGaco() || !purm) && acen() > ar || eurBrarmi()) && (!po || sa > 9) && !ilzou() && !ba) {
husOss();
} 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 (swel() && ossmu() > eusash() || ebeJali() || kod && ossmu() > eusash() || ebeJali() || essud() && ossmu() > eusash() || ebeJali()) {
if (bisir() >= 4) {
return true;
}
if (unhunt()) {
return true;
}
if (vi) {
return true;
}
if (fiss) {
return true;
}
}
return false;
return fiss && vi && unhunt() && bisir() >= 4 || (swel() || kod || essud()) && (ossmu() > eusash() || ebeJali());
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 (!essud() && !kod && !swel() && bisir() <= 4 || !unhunt() || !vi || !fiss) {
if (!fiss) {
if (!unhunt() || !vi) {
if (bisir() <= 4) {
return false;
}
}
}
if (ossmu() < eusash()) {
return false;
}
if (!ebeJali()) {
return false;
}
}
return true;
Simplify the following messy chain of conditionals:
if (ma == true) {
ineng();
} else if (teud == true && ma != true) {
cirac();
} else if (ol == true && ma != true && teud != true) {
cunfor();
} else if (psas == true && ma != true && teud != true && ol != true) {
usse();
} else if (dek <= 9 && ma != true && teud != true && ol != true && psas != true) {
remph();
}
if (a == true && ma != true && teud != true && ol != true && psas != true && dek >= 9) {
stont();
}
if (bre && ma != true && teud != true && ol != true && psas != true && dek >= 9 && a != true) {
cecart();
} else if (ma != true && teud != true && ol != true && psas != true && dek >= 9 && a != true && !bre) {
cinPhonse();
}
{
if (ma) {
ineng();
}
if (teud) {
cirac();
}
if (ol) {
cunfor();
}
if (psas) {
usse();
}
if (dek <= 9) {
remph();
}
if (a) {
stont();
}
if (bre) {
cecart();
}
cinPhonse();
}
Things to double-check in your solution:
== true and == false checks?else, no final if.Related puzzles: