Proposal: Elvis and Other Null-Safe Operators
Jeremy Manson
jeremy.manson at gmail.com
Tue Mar 3 11:36:51 PST 2009
On Tue, Mar 3, 2009 at 11:31 AM, Jeremy Manson <jeremy.manson at gmail.com> wrote:
> Flipping through a few thousand lines' worth of our source files, I
> see hundreds of examples of #1, and only a couple of examples of #2.
> Most of the time, we know a priori that we're not doing a null
> dereference, so we don't need the ?.. This pretty much gels with my
> intuition about this. Perhaps it is different in EE code? I would be
> interested to hear a more thorough study of people's source bases. If
> it is true that #2 is only responsible for a tiny fraction of the
> cases in general, then it is a little odd to add a programming
> language feature around it.
I should add to this that most of the cases I found were things like:
if (foo != null) {
foo.bar();
}
That's not really all that compelling. The really compelling case for
this feature is:
foo.bar().goo().baz().bif();
where each and everyone needs to be null checked, and you want to
abandon the computation if any is null. I didn't see any of these at
all, but, as I said, this might be different in EE code.
Jeremy
More information about the coin-dev
mailing list