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 (!(pris() || kia) && wonni() < messme() && ohod() && (!(dedDiseel() == 3) || !espe) && !((ne == 7 || a) && sluTreerm())) {
...
...
// Pretend there is lots of code here
...
...
} else {
ugird();
}
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 ((ne == 7 || a) && sluTreerm() || espe && dedDiseel() == 3 || !ohod() || wonni() > messme() || pris() || kia) {
ugird();
} 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 (siar || qesi() && aspu() >= 8 || !to || prucpu() || el) {
if (phof() || teuc()) {
if (bre) {
return true;
}
if (thao()) {
return true;
}
}
}
return false;
return thao() && bre || phof() || teuc() || siar || qesi() && aspu() >= 8 || !to || prucpu() || el;
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 (!qesi() && !siar && !teuc() && !phof() && !bre || !thao()) {
if (!thao()) {
if (!bre) {
return false;
}
}
if (!phof()) {
return false;
}
if (!teuc()) {
return false;
}
if (!siar) {
return false;
}
if (aspu() <= 8) {
return false;
}
}
if (to) {
return false;
}
if (!prucpu()) {
return false;
}
if (!el) {
return false;
}
return true;
Simplify the following messy chain of conditionals:
if (beup == true) {
locpas();
}
if (ced && beup != true) {
squIlp();
} else if (!diu && beup != true && !ced) {
mufoot();
} else if (e == false && beup != true && !ced && diu) {
rast();
} else if (es == false && beup != true && !ced && diu && e != false) {
hanat();
}
if (se == true && beup != true && !ced && diu && e != false && es != false) {
chipri();
}
if (qon != 3 && beup != true && !ced && diu && e != false && es != false && se != true) {
ofuPrafe();
}
if (il <= sqaw && beup != true && !ced && diu && e != false && es != false && se != true && qon == 3) {
ucrid();
} else if (fis < 4 && beup != true && !ced && diu && e != false && es != false && se != true && qon == 3 && il >= sqaw) {
phist();
}
{
if (beup) {
locpas();
}
if (ced) {
squIlp();
}
if (!diu) {
mufoot();
}
if (!e) {
rast();
}
if (!es) {
hanat();
}
if (se) {
chipri();
}
if (qon != 3) {
ofuPrafe();
}
if (il <= sqaw) {
ucrid();
}
if (fis < 4) {
phist();
}
}
Things to double-check in your solution:
== true and == false checks?else if, not just else.Related puzzles: