you are viewing a single comment's thread
view the rest of the comments
[–] 7 points 11 months ago (1 child)

Weird example. 3 nested conditionals is not the typical use case for a ternary, and 2 of the 5 branches result in a pointless a=a assignment. I agree this is bad code, but it's just as bad and hard to parss in a normal if-else structure too:

if (a>b) {
    if (b>c) {
        if (a<d) {
            a=c;
        }
        else {
            a=a;
        }
    }
    else {
        a=d;
    }
}
else {
    if (b<c) {
        a=a;
    }
    else {
        a=d;
    }
}

In another situation, though, it's perfectly readable to have a much more typical ternary use case like:

a = c > d ? c : d

And a pair of parentheses never hurt readability either:

a = (c > d) ? c : d

  • source
  • parent
  • hideshow 2 child comments