re: 10 practices for writing readable code VIEW POST

TOP OF THREAD FULL DISCUSSION
re: Depends. Generally, returning null for objects is common practice. Specifically, I'd want to know what a method like getUser(email, password) does?...
 

It was just a example, more generally what if the method searches for something in a database. What should it return if it can't find the required object?

Something that could possibly better represent emptiness. For example, many ORMs return an empty collection when a query yields no results.

I see. So basically, this is something that needs to be thought about from the design level up, and not a simple change that can be done to a method(in most cases at least). I am familiar with the practice of returning an empty list rather than null. Definitely reduces the number of null checks that have to be done in other parts of the code.

Methods that return collections should never return null, ever. At the very least, an empty collection is returned. For plain objects, employ the Null Object Pattern. In case of Java, Optional class is what you should be looking for. 🙂

This is exactly what I was looking for, how to handle plain objects. Thank you, Andre.
Will definitely be implementing these where possible.

There is the null object pattern for this situation, which returns something that shouldn't break your existing code and only requires minimal changes to your methods which return objects.

en.m.wikipedia.org/wiki/Null_objec...

code of conduct - report abuse