[Newbies] Re: A Question of Style

Ron Teitelbaum Ron at USMedRec.com
Sun Apr 1 00:26:59 UTC 2007


Yes indeed!

Ron

> From: Klaus D. Witzel
> 
> On Fri, 30 Mar 2007 18:22:22 +0200, Tim Johnson wrote:
> 
> > Hi,
> >
> > I know the rules for naming accessor and setter methods.  But what do I
> > do
> > when the accessor method needs a parameter?  I'll try to provide an
> > example.
> >
> > A vendor sells an item called #apple.  If I want to get the vendor's
> > price
> > for that #apple, I use a method such as the following:
> >
> > Vendor>>priceOf: aSymbol
> >
> > Now, to make the setter method, I have followed this pattern:
> >
> > Vendor>>priceOf: aSymbol is: newPrice
> 
> I've seen the suggestions in other responses to this and I don't like
> them.
> 
> Calling "everything" a setter/getter seems to be J-zeitgeist but, what you
> have here is a collection of prices, indexed by a symbolic key, rooted at
> instances of Vendor.
> 
> Translated to Smalltalk language this is a variant of #at:put:
> 
> Vendor>>priceAt: aSymbol put: newPrice
> 
> Even more Smalltalk-ish, you'd have
> 
>   aVendor pricebook at: aSymbol put: newPrice
> 
> People with an education in Smalltalk will immediately understand what's
> happening when seeing a piece of your code which sends #priceAt:put:, even
> in the absence of class comments :)
> 
> /Klaus
> 
> > Does this follow traditional patterns?  I'll admit I have read the first
> > half of "Smalltalk with Style" but not the second.  Should I instead
> make
> > the setter method look like this:
> >
> > Vendor>>setPriceOf: aSymbol to: newPrice
> >
> > ?
> >
> > Thanks,
> > Tim
> >
> > [PS - Thanks to everyone who has been helping me on here lately, I have
> > been lax in responding.  You all bring up some good ideas and tips.]
> 
> 
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners




More information about the Beginners mailing list