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 ((prid == esad() || ri) && utra() == 3 && kante() || fabil() >= 3 || e && lurdpe() || ihe) {
...
...
// Pretend there is lots of code here
...
...
} else {
sciun();
}
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 (!ihe && (!lurdpe() || !e) && fabil() <= 3 && (!kante() || utra() != 3 || !ri && prid != esad())) {
sciun();
} 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 (de > 9 && uchic() || ne || se && !gle) {
if (ioc && ussmot() || ste && ussmot()) {
if (oro == 0) {
return true;
}
}
}
return false;
return oro == 0 || (ioc || ste) && ussmot() || de > 9 && (uchic() || ne) || se && !gle;
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 (!se && !ne && !uchic() && !ussmot() && oro != 0 || !ste && !ioc && oro != 0 || de < 9 && !ussmot() && oro != 0 || !ste && !ioc && oro != 0) {
if (de < 9 && !ussmot() && oro != 0 || !ste && !ioc && oro != 0) {
if (!ste && !ioc && oro != 0) {
if (oro != 0) {
return false;
}
if (!ussmot()) {
return false;
}
}
if (!uchic()) {
return false;
}
if (!ne) {
return false;
}
}
if (gle) {
return false;
}
}
return true;
Simplify the following messy chain of conditionals:
if (es == true) {
isod();
}
if (oc == false && es != true) {
sekPilco();
}
if (ce == true && es != true && oc != false) {
tungel();
} else if (ilus == true && es != true && oc != false && ce != true) {
adun();
}
if (ur == 1 && es != true && oc != false && ce != true && ilus != true) {
funoss();
}
if (biot == false && es != true && oc != false && ce != true && ilus != true && ur != 1) {
ninChuxir();
}
if (pi == true && es != true && oc != false && ce != true && ilus != true && ur != 1 && biot != false) {
bioga();
} else if ((aust != reum) == true && es != true && oc != false && ce != true && ilus != true && ur != 1 && biot != false && pi != true) {
sucvid();
}
{
if (es) {
isod();
}
if (!oc) {
sekPilco();
}
if (ce) {
tungel();
}
if (ilus) {
adun();
}
if (ur == 1) {
funoss();
}
if (!biot) {
ninChuxir();
}
if (pi) {
bioga();
}
if (aust != reum) {
sucvid();
}
}
Things to double-check in your solution:
== true and == false checks?else if, not just else.Related puzzles: