Že Vám do toho coby nejavista lezu:
1. Pro tenhle případ krásně funguje De Morgan, tudíž nebudu používat takhle (bez urážky) dementní podmínku a napíšu
if ((foo <= 100) || (qux().bar <= 2000)) {...}
a jsem s čitelností úplně někde jinde.
2. Pokud je podmínka příšerně složitá, použiju funkci (v Javě metodu) a tam si tu logiku nasekám jak se mi to hodí, třeba:
bool isFooBar(foo, bar, baz) { if (foo < 100) return false; else if (bar < 2000) return false else if (baz >= 123) return false; else return true; }
Mám to za jedny peníze (pokud zanedbám jedno volání funkce, což prakticky vždycky můžu) a namísto toho, abych tu volající funkci/metodu prodlužoval dalšími proměnnými, naopak si ji zkrátím a to vyhodnocování si dám zvlášť, kde se to dá hezky okomentovat a všechno je jasné, rozumně krátké a hezké dle libosti.
20. 10. 2019, 19:57 editováno autorem komentáře