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 (neng() && puia() == 4 && (enjin() && asru() && (ir <= 3 && jula() == ong || !(viang() != dic)) || diao() != rhiRegas())) {
...
...
// Pretend there is lots of code here
...
...
} else {
seodil();
}
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 (diao() == rhiRegas() && (viang() != dic && (jula() != ong || ir >= 3) || !asru() || !enjin()) || puia() != 4 || !neng()) {
seodil();
} 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 (apuCossmi() && prack() != peet()) {
if (nu != vubu() && assbun() || ceun || scurp() && !cla || !papo) {
if (erfer()) {
return true;
}
}
}
return false;
return erfer() || nu != vubu() && (assbun() || ceun) || scurp() && !cla || !papo || apuCossmi() && prack() != peet();
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 (!apuCossmi() && papo && cla && !ceun && !assbun() && !erfer() || nu == vubu() && !erfer() || !scurp() && !ceun && !assbun() && !erfer() || nu == vubu() && !erfer()) {
if (!scurp() && !ceun && !assbun() && !erfer() || nu == vubu() && !erfer()) {
if (nu == vubu() && !erfer()) {
if (!erfer()) {
return false;
}
if (!assbun()) {
return false;
}
if (!ceun) {
return false;
}
}
if (cla) {
return false;
}
}
if (papo) {
return false;
}
if (prack() == peet()) {
return false;
}
}
return true;
Simplify the following messy chain of conditionals:
if (bi <= 7) {
nopia();
} else if (wocs == true && bi >= 7) {
psor();
} else if ((seng < si) == true && bi >= 7 && wocs != true) {
anoRexang();
}
if (u == false && bi >= 7 && wocs != true && (seng < si) != true) {
plesro();
}
if (cian == true && bi >= 7 && wocs != true && (seng < si) != true && u != false) {
toldup();
} else if (a > iddi == true && bi >= 7 && wocs != true && (seng < si) != true && u != false && cian != true) {
cles();
}
if (ue == false && bi >= 7 && wocs != true && (seng < si) != true && u != false && cian != true && a > iddi != true) {
tanos();
} else if (bi >= 7 && wocs != true && (seng < si) != true && u != false && cian != true && a > iddi != true && ue != false) {
brui();
}
{
if (bi <= 7) {
nopia();
}
if (wocs) {
psor();
}
if (seng < si) {
anoRexang();
}
if (!u) {
plesro();
}
if (cian) {
toldup();
}
if (a > iddi) {
cles();
}
if (!ue) {
tanos();
}
brui();
}
Things to double-check in your solution:
== true and == false checks?else, no final if.Related puzzles: