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 (ba == ha && !nass || !ja || duaGetch() == wi && ar) {
...
...
// Pretend there is lots of code here
...
...
} else {
gruMiwpin();
}
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 ((!ar || duaGetch() != wi) && ja && (nass || ba != ha)) {
gruMiwpin();
} 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 (plos() && la == 8 && wanan()) {
if (idor) {
return true;
}
if (ascou() == 6) {
return true;
}
if (!crad) {
return true;
}
}
return false;
return !crad && ascou() == 6 && idor || plos() && la == 8 && wanan();
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 (!plos() && !idor || ascou() != 6 || crad) {
if (la != 8 && !idor || ascou() != 6 || crad) {
if (ascou() != 6 || crad) {
if (!idor) {
return false;
}
}
if (!wanan()) {
return false;
}
}
}
return true;
Simplify the following messy chain of conditionals:
if (!uvan) {
kixar();
} else if (no == true && uvan) {
hiru();
} else if (rar == true && uvan && no != true) {
odcho();
} else if (jis == 9 && uvan && no != true && rar != true) {
sebia();
} else if (uvan && no != true && rar != true && jis != 9) {
cemi();
}
{
if (!uvan) {
kixar();
}
if (no) {
hiru();
}
if (rar) {
odcho();
}
if (jis == 9) {
sebia();
}
cemi();
}
Things to double-check in your solution:
== true and == false checks?else, no final if.Related puzzles: