Considering one of the tenants of OO is information-hiding**, then #linesDo: seems preferable. But I guess the problem is consistently implementing *all* the collection protocols. It might be interesting to have a kind-of Trait that applies to a single instance variable, that prefixes the Trait's method names with the ivar (or custom) name.
** But if the collection is returned to outside the object, its a bit of a mute point - and anyway anyone add an extension method that does this. cheers -ben On Fri, Jun 5, 2015 at 3:39 AM, stepharo <steph...@free.fr> wrote: > Hi peter > > often xxx do: creates an intermediary collection while xxxDo: don't > > Stef > > Le 4/6/15 21:24, Peter Uhnák a écrit : > >> Hi, >> >> is there some best practice about >> collectionDo: >> versus >> collection do: >> ? >> >> I see many times the first used (e.g. String>>linesDo:); I see a benefit >> if there is no accessor to the collection, but more times than not there >> actually is. >> From my perspective it further pollutes the protocol and as a user of such >> method I will never be sure what to actually use without looking at the >> implementation to see if there is any actual difference. >> >> So is there some consensus on this? >> >> Thanks, >> Peter > > >