• kryptonianCodeMonkey@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    12 hours ago

    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