Earlier quoted context omitted.
I don't agree. It occludes the nested structure. We can regard the condition as the head of a clause, and the ? and : as heads of sub-clauses: A ? B : C which leads to: return a b ? 1 : 0;
What you're writing here is equivalent to insisting that people do: if (a b) { return 1; } else { return 0; } }
if (a b) {
return 1;
} else {
return 0;
}
Unlike your perfectly formatted code there, this has a bit of a visual problem: a one-liner consequent is fully braced, whereas a multi-line alternative isn't.Ternary operators are different. They have confusing nesting and do not support the equivalent of the "if/else ladder" pattern very well.