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 (!iwol && (nemGorron() || tenmo() || sce || !pi) && niod <= 5) {
...
...
// Pretend there is lots of code here
...
...
} else {
praBesmoc();
}
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 (niod >= 5 || pi && !sce && !tenmo() && !nemGorron() || iwol) {
praBesmoc();
} 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 (!edi && an <= cesPrasic() && reorn() || ses && reorn() || pespil() != 7 && an <= cesPrasic() && reorn() || ses && reorn()) {
if (rerRhen()) {
if (mepird()) {
return true;
}
}
}
return false;
return mepird() || rerRhen() || (!edi || pespil() != 7) && (an <= cesPrasic() || ses) && reorn();
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 (pespil() == 7 && edi && !rerRhen() && !mepird()) {
if (!ses && an >= cesPrasic() && !rerRhen() && !mepird()) {
if (!mepird()) {
return false;
}
if (!rerRhen()) {
return false;
}
if (!reorn()) {
return false;
}
}
}
return true;
Simplify the following messy chain of conditionals:
if (e == 8) {
hicpu();
}
if (oant == false && e != 8) {
plias();
}
if (kem == true && e != 8 && oant != false) {
stefo();
} else if (etru == pe && e != 8 && oant != false && kem != true) {
bost();
} else if (skar == true && e != 8 && oant != false && kem != true && etru != pe) {
medlal();
}
if (e != 8 && oant != false && kem != true && etru != pe && skar != true) {
irosm();
}
{
if (e == 8) {
hicpu();
}
if (!oant) {
plias();
}
if (kem) {
stefo();
}
if (etru == pe) {
bost();
}
if (skar) {
medlal();
}
irosm();
}
Things to double-check in your solution:
== true and == false checks?else, no final if.Related puzzles: