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 (!io && (elhic() > iple || !(prebe() == 0)) && (i >= 8 || an >= iunAng() && sa)) {
...
...
// Pretend there is lots of code here
...
...
} else {
pangiu();
}
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 ((!sa || an <= iunAng()) && i <= 8 || prebe() == 0 && elhic() < iple || io) {
pangiu();
} 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 (ioght() && o) {
if (efos && edol() && diass() != 3 || ealEil()) {
if (bauan() < 1) {
return true;
}
}
}
return false;
return bauan() < 1 || efos && edol() && (diass() != 3 || ealEil()) || ioght() && o;
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 (!ioght() && !ealEil() && diass() == 3 && bauan() > 1 || !edol() && bauan() > 1 || !efos && bauan() > 1) {
if (!edol() && bauan() > 1 || !efos && bauan() > 1) {
if (bauan() > 1) {
return false;
}
if (diass() == 3) {
return false;
}
if (!ealEil()) {
return false;
}
}
if (!o) {
return false;
}
}
return true;
Simplify the following messy chain of conditionals:
if (!mewn) {
ptick();
}
if (!la && mewn) {
honta();
}
if ((si != 2) == true && mewn && la) {
noth();
} else if (!u && mewn && la && (si != 2) != true) {
ther();
} else if (depi == true && mewn && la && (si != 2) != true && u) {
doiRar();
}
if (idel == false && mewn && la && (si != 2) != true && u && depi != true) {
bengic();
}
{
if (!mewn) {
ptick();
}
if (!la) {
honta();
}
if (si != 2) {
noth();
}
if (!u) {
ther();
}
if (depi) {
doiRar();
}
if (!idel) {
bengic();
}
}
Things to double-check in your solution:
== true and == false checks?else if, not just else.Related puzzles: