[squeak-dev] Best practices question
Chris Muller
asqueaker at gmail.com
Wed Oct 23 20:46:03 UTC 2013
On Wed, Oct 23, 2013 at 1:11 PM, Bob Arning <arning315 at comcast.net> wrote:
> Except that cascade is not affected by the return value...
> self foo; bar.
>
> cares not what is returned by foo.
Your example assumes the send is to self. I was thinking of an
example where it was sent from another class:
louisObject methodWhichReturnsNilInsteadOfSelf
message1 ;
message 2
can no longer be done. Before, it could.
But, ok, you're right, it's not specifically cascading that is affected.. :)
>
> I think there was a discussion some time ago that self might not have been
> the best default return value. YMMV.
>
> Cheers,
> Bob
>
> On 10/23/13 2:05 PM, Chris Muller wrote:
>
> Either. But in general use ^self rather than ^nil
> so that it acts the same as the implicit ^self when you drop out the end of
> a method.
>
> +1. Senders might want to cascade.
>
> Bob Arning wrote:
>
> I prefer the first - it gets one case out of the way quickly.
>
> Cheers,
> Bob
>
> On 10/23/13 10:12 AM, Louis LaBrunda wrote:
>
> Hi,
>
> I'm about to write a method where I need to test whether to do something or
> just get out. What is the best practices way to do this? For example:
>
> (a = b) ifTrue: [^nil].
> *The code that does the work*
>
> or:
>
> (a = b) ifFalse: [
> *The code that does the work*
> ].
>
> I think the second is better style but I have used both. Generally using
> the first when *The code that does the work* is long and the second when it
> is short.
>
> Is there any speed difference between them? I doubt it but I thought I
> would ask anyway.
>
> Lou
> -----------------------------------------------------------
> Louis LaBrunda
> Keystone Software Corp.
> SkypeMe callto://PhotonDemon
> mailto:Lou at Keystone-Software.com http://www.Keystone-Software.com
>
>
>
>
>
> ________________________________
>
>
>
>
>
>
>
>
>
>
>
>
More information about the Squeak-dev
mailing list
|