2016-11-01 12:39 GMT-03:00 Joachim Tuchel <jtuchel@objektfabrik.de>:
I know. That's exactly the reason why I never use isEmptyOrNil
Fun aside: how often do we need to check if some code returns nil or an empty collection. My question was aimed at exactly this: in practice ifEmptyOrNil: would probably be even more frequently needed than ifEmpty:. Otherwise, the beautiful convenience method has to be guarded by a nil test.... so we end up writing lots of methods, and not all of them seem to be universal enough to be part of the base image, imo.
To start with <http://wiki.c2.com/?NullConsideredHarmful>, and then... the best way to avoid testing for nil, is to not use it at all! Wherever possible a Null Object (as in <http://wiki.c2.com/?NullObject>) is a great replacement. It is, using a domain specific UndefinedObject instead of the default nil. Regards, Esteban A. Maringolo