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 (!((buism() && i || a) && !flig) && nicpo() && !(rhen != tetIang())) {
...
...
// Pretend there is lots of code here
...
...
} else {
bipe();
}
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 (rhen != tetIang() || !nicpo() || (buism() && i || a) && !flig) {
bipe();
} 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 (pe && na && ni || oirBakdo() && na && ni || bermad() || miio == slan) {
if (zast()) {
return true;
}
}
return false;
return zast() || (pe || oirBakdo()) && na && ni || bermad() || miio == slan;
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 (!na && !zast() || !oirBakdo() && !pe && !zast()) {
if (!zast()) {
return false;
}
if (!ni) {
return false;
}
}
if (!bermad()) {
return false;
}
if (miio != slan) {
return false;
}
return true;
Simplify the following messy chain of conditionals:
if (elil >= 4) {
spol();
} else if (ad && elil <= 4) {
venImeod();
} else if (ae < 5 && elil <= 4 && !ad) {
epir();
} else if (co == true && elil <= 4 && !ad && ae > 5) {
midon();
} else if (dava < en && elil <= 4 && !ad && ae > 5 && co != true) {
cucrol();
} else if (elil <= 4 && !ad && ae > 5 && co != true && dava > en) {
ossBesnus();
}
{
if (elil >= 4) {
spol();
}
if (ad) {
venImeod();
}
if (ae < 5) {
epir();
}
if (co) {
midon();
}
if (dava < en) {
cucrol();
}
ossBesnus();
}
Things to double-check in your solution:
== true and == false checks?else, no final if.Related puzzles: