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 (eshow() && !reax && costta() && (tu || anpi != 5) || !(berae() != 2)) {
...
...
// Pretend there is lots of code here
...
...
} else {
comro();
}
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 (berae() != 2 && (anpi == 5 && !tu || !costta() || reax || !eshow())) {
comro();
} 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 (entce() || thac != 6) {
if (!rean && osen && plosac() == cesm() || phor != 9) {
if (phor != 9) {
if (plosac() == cesm()) {
return true;
}
}
if (osen) {
return true;
}
if (ipras()) {
return true;
}
}
}
return false;
return (ipras() || !rean) && osen && (plosac() == cesm() || phor != 9) || entce() || thac != 6;
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 (rean && !ipras()) {
if (!osen) {
if (plosac() != cesm()) {
return false;
}
if (phor == 9) {
return false;
}
}
}
if (!entce()) {
return false;
}
if (thac == 6) {
return false;
}
return true;
Simplify the following messy chain of conditionals:
if (ua == false) {
derpe();
}
if (aa <= 7 && ua != false) {
canas();
} else if (!im && ua != false && aa >= 7) {
dofle();
}
if (am > 7 && ua != false && aa >= 7 && im) {
iarAngra();
}
if (lesh && ua != false && aa >= 7 && im && am < 7) {
oomfo();
} else if (ua != false && aa >= 7 && im && am < 7 && !lesh) {
osflan();
}
{
if (!ua) {
derpe();
}
if (aa <= 7) {
canas();
}
if (!im) {
dofle();
}
if (am > 7) {
iarAngra();
}
if (lesh) {
oomfo();
}
osflan();
}
Things to double-check in your solution:
== true and == false checks?else, no final if.Related puzzles: