KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
[ This is a result of Best Practice: Should functions return null or an empty object? but I'm trying to be very general. ] In a lot of legacy (um...production) C++ code that I've seen, there is a tendency to write a lot of NULL (or similar) checks to test pointers. Many of these get added near the end of a release cycle when adding a NULL -check provides a quick fix to a crash caused by the pointer dereference--and there isn't a lot of time to investigate. To combat this, I started to write code that took a ( const ) reference parameter instead of the (much) more common technique of passing a pointer. No pointer, no desire to check for NULL (ignoring the corner case of actually having a null reference). In C#, the same C++ "problem" is present: the desire to check every unknown reference against null ( ArgumentNullException ) and to quickly fix NullReferenceException s by adding a null check. It seems to me, one way to prevent this is to avoid null objects in the first place by using empty objects ( String.Empty , EventArgs.Empty ) instead. Another would be to throw an exception rather than return null . I'm just starting to learn F#, but it appears there are far fewer null objects in that enviroment. So maybe you don't really have to have a lot of null references floating around? Am I barking up the wrong tree here?
Tags (comma-separated)
Save Edits
Cancel