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 (hu && cuct() == 3 || ci < 1 || (il == 4 || lanspi()) && (qai == 4 || po) || biad || dape()) {
...
...
// Pretend there is lots of code here
...
...
} else {
preos();
}
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 (!dape() && !biad && (!po && qai != 4 || !lanspi() && il != 4) && ci > 1 && (cuct() != 3 || !hu)) {
preos();
} 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 (phir() && o && broc() && !reun && shid && peac() == 1 || cintsi() || feng != 8 || a) {
if (al) {
return true;
}
}
return false;
return al || phir() && o && broc() && !reun && shid && peac() == 1 || cintsi() || feng != 8 || a;
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 (!broc() && !al || !o && !al || !phir() && !al) {
if (!shid && !al || reun && !al) {
if (!al) {
return false;
}
if (peac() != 1) {
return false;
}
}
}
if (!cintsi()) {
return false;
}
if (feng == 8) {
return false;
}
if (!a) {
return false;
}
return true;
Simplify the following messy chain of conditionals:
if (mopa) {
pohir();
}
if ((ses < phal) == true && !mopa) {
flass();
} else if (!afru && !mopa && (ses < phal) != true) {
sathru();
}
if (re != qass && !mopa && (ses < phal) != true && afru) {
cint();
} else if (gek && !mopa && (ses < phal) != true && afru && re == qass) {
puirel();
}
if (eul == true && !mopa && (ses < phal) != true && afru && re == qass && !gek) {
lunNabe();
}
if (ge == false && !mopa && (ses < phal) != true && afru && re == qass && !gek && eul != true) {
consie();
}
if (klio == false && !mopa && (ses < phal) != true && afru && re == qass && !gek && eul != true && ge != false) {
lessga();
} else if (cet == true && !mopa && (ses < phal) != true && afru && re == qass && !gek && eul != true && ge != false && klio != false) {
segle();
}
{
if (mopa) {
pohir();
}
if (ses < phal) {
flass();
}
if (!afru) {
sathru();
}
if (re != qass) {
cint();
}
if (gek) {
puirel();
}
if (eul) {
lunNabe();
}
if (!ge) {
consie();
}
if (!klio) {
lessga();
}
if (cet) {
segle();
}
}
Things to double-check in your solution:
== true and == false checks?else if, not just else.Related puzzles: