The Golden Rule of Programming
stackify.com
stackify.com
Cached version: http://webcache.googleusercontent.com/search?q=cache:vyvuBLO...
So explicitly define what is allowed to ever be "null": http://lukeplant.me.uk/blog/posts/null-pointers-vs-none-vs-m...
Explicitly defining what is ever allowed to be 'null' is a great habit that serves me extremely well during evenings and weekends. But it's completely useless to me, by virtue of being impossible, between 9am and 5pm.
And here comes a repetition of Maybe Foo in haskell, and Option in Scala/Java. Hehe :-)
Keep meaning to try C# for a project sometime. I understand it to be a more expressive, programmer friendly Java.
*In practice, though technically that bit's an implementation detail of Microsoft's run-time and not part of the language spec.