4 ms·
Absolutely. I once had to deal with code that did something like this: return a ? b : c ? d : e ? f : g; I'm not kidding.
by wlievens 16y ago
Absolutely.
I once had to deal with code that did something like this:
return a ? b : c ? d : e ? f : g;
I'm not kidding.
- rix0r 16y agoWhich is actually pretty useful and readable, imho (if formatted correctly): return a ? b : c ? d : e ? f : g; Side note: this does not work in PHP, as the operator is left-associative instead of right-associative there. The above in PHP would be evaluated as: return ((a ? b : c) ? d : e) ? f : g; Which is almost never what you want. I can't even format this properly to convey intent.
- wlievens 16y agoThe only sane thing is to use if statements, imho. No ninja cowboy engineer nonsense.
- sukuriant 16y agoSometimes, if-statements unnecessarily add lines, and the lines become harder to read. I would say it's a case-by-case statement. Well, okay, more specifically, I would say that the use of a single ternary if is a case-by-case statement.
- wlievens 16y agoAbsolutely. I use ternary if when appropriate. But nesting ternary ifs is horrible, and nesting ternary ifs while discarding parentheses is malevolent.
- pbiggar 16y agoCorrect bracketing would be plenty in this case. If-statements sometimes (not always) make code much less readable than ternary operations.
- Ralith 16y agoThis is why more languages should adopt the every-form-returns-a-value paradigm.