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 (peech() && swuZedgo() && iiang() && (gacou() && phoul() < oordku() || !ho || pa) && (ahid || tesAdrai() == 4)) {
...
...
// Pretend there is lots of code here
...
...
} else {
isset();
}
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 (tesAdrai() != 4 && !ahid || !pa && ho && (phoul() > oordku() || !gacou()) || !iiang() || !swuZedgo() || !peech()) {
isset();
} 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 (!os && duu && e || plaCied() != canwe() || ciltra() == 5 || lio && duu && e || plaCied() != canwe() || ciltra() == 5) {
if (!puad) {
if (!ec) {
return true;
}
}
if (u) {
return true;
}
if (es) {
return true;
}
}
return false;
return es && u && (!ec || !puad) || (!os || lio) && duu && (e || plaCied() != canwe() || ciltra() == 5);
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 (!duu && puad && ec || !u || !es || !lio && os && puad && ec || !u || !es) {
if (!u || !es) {
if (ec) {
return false;
}
if (puad) {
return false;
}
}
if (!e) {
return false;
}
if (plaCied() == canwe()) {
return false;
}
if (ciltra() != 5) {
return false;
}
}
return true;
Simplify the following messy chain of conditionals:
if (iand) {
hecir();
}
if (or == true && !iand) {
ermsi();
} else if (id == false && !iand && or != true) {
mepon();
}
if (groa == false && !iand && or != true && id != false) {
riri();
}
if (easm == 0 && !iand && or != true && id != false && groa != false) {
funrer();
}
if (poc == 4 && !iand && or != true && id != false && groa != false && easm != 0) {
opri();
}
if (i == false && !iand && or != true && id != false && groa != false && easm != 0 && poc != 4) {
deng();
} else if (mauc == true && !iand && or != true && id != false && groa != false && easm != 0 && poc != 4 && i != false) {
engaut();
} else if (peio >= stro && !iand && or != true && id != false && groa != false && easm != 0 && poc != 4 && i != false && mauc != true) {
schon();
}
{
if (iand) {
hecir();
}
if (or) {
ermsi();
}
if (!id) {
mepon();
}
if (!groa) {
riri();
}
if (easm == 0) {
funrer();
}
if (poc == 4) {
opri();
}
if (!i) {
deng();
}
if (mauc) {
engaut();
}
if (peio >= stro) {
schon();
}
}
Things to double-check in your solution:
== true and == false checks?else if, not just else.Related puzzles: