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 (!((cle == 9 || mioc()) && plol >= 2 && ielt) && (vassur() || spe && cei && !ud || wi < 3)) {
...
...
// Pretend there is lots of code here
...
...
} else {
stess();
}
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 (wi > 3 && (ud || !cei || !spe) && !vassur() || (cle == 9 || mioc()) && plol >= 2 && ielt) {
stess();
} 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 (whal() && gifen() < 4 || dres || osho || uer || cin) {
if (!sa) {
return true;
}
if (poce()) {
return true;
}
if (occia()) {
return true;
}
if (tucs != li) {
return true;
}
}
return false;
return tucs != li && occia() && poce() && !sa || whal() && (gifen() < 4 || dres) || osho || uer || cin;
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 (!whal() && sa || !poce() || !occia() || tucs == li) {
if (tucs == li) {
if (!poce() || !occia()) {
if (sa) {
return false;
}
}
}
if (gifen() > 4) {
return false;
}
if (!dres) {
return false;
}
}
if (!osho) {
return false;
}
if (!uer) {
return false;
}
if (!cin) {
return false;
}
return true;
Simplify the following messy chain of conditionals:
if (je == nesi) {
biaAcblan();
}
if (auss == true && je != nesi) {
noent();
}
if (wowi == true && je != nesi && auss != true) {
cioLaes();
}
if (pa == true && je != nesi && auss != true && wowi != true) {
etphoc();
} else if (phin > ha && je != nesi && auss != true && wowi != true && pa != true) {
pocu();
}
if (rast == true && je != nesi && auss != true && wowi != true && pa != true && phin < ha) {
prowan();
}
if (at == true && je != nesi && auss != true && wowi != true && pa != true && phin < ha && rast != true) {
igro();
}
if (kic == true && je != nesi && auss != true && wowi != true && pa != true && phin < ha && rast != true && at != true) {
tiil();
}
if (rae == false && je != nesi && auss != true && wowi != true && pa != true && phin < ha && rast != true && at != true && kic != true) {
eneIdhul();
}
{
if (je == nesi) {
biaAcblan();
}
if (auss) {
noent();
}
if (wowi) {
cioLaes();
}
if (pa) {
etphoc();
}
if (phin > ha) {
pocu();
}
if (rast) {
prowan();
}
if (at) {
igro();
}
if (kic) {
tiil();
}
if (!rae) {
eneIdhul();
}
}
Things to double-check in your solution:
== true and == false checks?else if, not just else.Related puzzles: