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 (o > 7 || od != 7 && essso() >= 7 || jias != lezasm() || !amuc || hepa()) {
...
...
// Pretend there is lots of code here
...
...
} else {
anma();
}
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 (!hepa() && amuc && jias == lezasm() && (essso() <= 7 || od == 7) && o < 7) {
anma();
} 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 (naoos() && !itic || !olep || wism > gohe() && !itic || !olep || as < 2 && !itic || !olep) {
if (!olep) {
if (!itic) {
return true;
}
}
if (coi) {
return true;
}
if (jired()) {
return true;
}
}
return false;
return (jired() && coi || naoos() || wism > gohe() || as < 2) && (!itic || !olep);
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 (as > 2 && wism < gohe() && !naoos() && !coi || !jired()) {
if (itic) {
return false;
}
if (olep) {
return false;
}
}
return true;
Simplify the following messy chain of conditionals:
if (ed == true) {
eant();
}
if (za == true && ed != true) {
hedid();
}
if (stas == true && ed != true && za != true) {
siul();
}
if (ti <= 5 && ed != true && za != true && stas != true) {
moucod();
}
if (phad == true && ed != true && za != true && stas != true && ti >= 5) {
iaes();
}
if (sti == false && ed != true && za != true && stas != true && ti >= 5 && phad != true) {
mincra();
}
{
if (ed) {
eant();
}
if (za) {
hedid();
}
if (stas) {
siul();
}
if (ti <= 5) {
moucod();
}
if (phad) {
iaes();
}
if (!sti) {
mincra();
}
}
Things to double-check in your solution:
== true and == false checks?else if, not just else.Related puzzles: