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 ((!(pran == 4) || idsi()) && etsos() && (ziass() || huhon()) || shitch() && gluIpsis()) {
...
...
// Pretend there is lots of code here
...
...
} else {
bornse();
}
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 ((!gluIpsis() || !shitch()) && (!huhon() && !ziass() || !etsos() || !idsi() && pran == 4)) {
bornse();
} 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 (eaem == 7 || dro || meski() == de && engral()) {
if (co || ceas()) {
if (!tren) {
return true;
}
}
}
if (e != hi) {
return true;
}
return false;
return e != hi && (!tren || co || ceas() || eaem == 7 || dro || meski() == de && engral());
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 (e == hi) {
if (meski() != de && !dro && eaem != 7 && !ceas() && !co && tren) {
if (tren) {
return false;
}
if (!co) {
return false;
}
if (!ceas()) {
return false;
}
if (eaem != 7) {
return false;
}
if (!dro) {
return false;
}
if (!engral()) {
return false;
}
}
}
return true;
Simplify the following messy chain of conditionals:
if ((dald <= 2) == true) {
endes();
} else if (spac == true && (dald <= 2) != true) {
pheep();
}
if (emi < 6 && (dald <= 2) != true && spac != true) {
radu();
} else if (ocec == true && (dald <= 2) != true && spac != true && emi > 6) {
gibi();
} else if (ci == true && (dald <= 2) != true && spac != true && emi > 6 && ocec != true) {
pleStes();
}
if (miou && (dald <= 2) != true && spac != true && emi > 6 && ocec != true && ci != true) {
gleSwoff();
}
if (hosh == true && (dald <= 2) != true && spac != true && emi > 6 && ocec != true && ci != true && !miou) {
fewki();
}
{
if (dald <= 2) {
endes();
}
if (spac) {
pheep();
}
if (emi < 6) {
radu();
}
if (ocec) {
gibi();
}
if (ci) {
pleStes();
}
if (miou) {
gleSwoff();
}
if (hosh) {
fewki();
}
}
Things to double-check in your solution:
== true and == false checks?else if, not just else.Related puzzles: