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 <
[hidden email]> 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
>
>
>