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 ((ceor < hawsoc() || siac) && ceck() && !inse && (iolPrenar() && qosfra() && !uph || vunk)) {
...
...
// Pretend there is lots of code here
...
...
} else {
hefi();
}
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 (!vunk && (uph || !qosfra() || !iolPrenar()) || inse || !ceck() || !siac && ceor > hawsoc()) {
hefi();
} 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 (!ca && cani() && thiwu() || athi && to == gocsto() && thiwu() || ba >= 0 && thiwu() || !al && thiwu()) {
if (athi && to == gocsto() && thiwu() || ba >= 0 && thiwu() || !al && thiwu()) {
if (thiwu()) {
return true;
}
if (cani()) {
return true;
}
}
if (ines()) {
return true;
}
if (te) {
return true;
}
}
return false;
return (te && ines() || !ca) && (cani() || athi && to == gocsto() || ba >= 0 || !al) && thiwu();
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 (al && ba <= 0 && to != gocsto() && !cani() || !athi && !cani() || ca && !ines() || !te) {
if (!thiwu()) {
return false;
}
}
return true;
Simplify the following messy chain of conditionals:
if (o == false) {
trehia();
} else if (e == true && o != false) {
cuass();
}
if (pe == false && o != false && e != true) {
nicBeb();
} else if ((sa > ashi) == true && o != false && e != true && pe != false) {
sermsa();
} else if ((romu != va) == true && o != false && e != true && pe != false && (sa > ashi) != true) {
sespat();
}
if (rass == false && o != false && e != true && pe != false && (sa > ashi) != true && (romu != va) != true) {
feaEidass();
} else if (ro == true && o != false && e != true && pe != false && (sa > ashi) != true && (romu != va) != true && rass != false) {
sarso();
}
if (cle == false && o != false && e != true && pe != false && (sa > ashi) != true && (romu != va) != true && rass != false && ro != true) {
permuc();
}
{
if (!o) {
trehia();
}
if (e) {
cuass();
}
if (!pe) {
nicBeb();
}
if (sa > ashi) {
sermsa();
}
if (romu != va) {
sespat();
}
if (!rass) {
feaEidass();
}
if (ro) {
sarso();
}
if (!cle) {
permuc();
}
}
Things to double-check in your solution:
== true and == false checks?else if, not just else.Related puzzles: