Which do you prefer of these two? The goal is the same. If bar is null then make foo null and avoid the exception. In other languages there is the ?. operator to help with this.

foo = bar == null ? null : bar.baz();
foo = bar != null ? bar.baz() : null;

I ask because I feel like the “English” of the first example is easier to read and has less negations so it is more straightforward, but the second one has the meat of the expression (bar.baz()) more prominently.

  • austin
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    I think generally it’s preferably to work in the affirmative, i.e. bar == null? but I’ll admit I don’t stick to this 100% of the time and generally just use whatever feels better / more appropriate in the moment