
Null is your friend, not a mistake - raytracer
https://medium.com/@elizarov/null-is-your-friend-not-a-mistake-b63ff1751dd5
======
adrianmsmith
Ideally, as the article suggests, you should use a language which supports
null and not-null types, with compile errors if you call a method on a type
that might be null before checking to make sure it’s not null.

However, if you’re stuck with Java, which doesn’t do that, you can annotate
your types with @Nonnull and @CheckForNull. (At least) SpotBugs and IntelliJ
respect such annotations.

I have done this to every parameter type, return type, and instance variable
on a 15 KLOC codebase and it’s been a great success.

