[squeak-dev] The Trunk: Collections-mt.851.mcz

Chris Muller asqueaker at gmail.com
Thu Sep 5 23:00:11 UTC 2019


>
>
> Via Array empty, we're talking about three measly variable assignments.
>

I just remembered your prior argument against using Array empty instead of
creating one so, okay, an allocation would push it over the line.

I can understand wanting extreme efficiency for very abstract classes like
Point and Rectangle, so maybe Matrix is one of those.

Best,
  Chris


> Maybe it's just me, but that's light enough to prefer the nicer code.
>
>  - Chris
>
>
>
>
>> That's exactly where I would put basicNew...
>>
>
>>
>
>> Le jeu. 5 sept. 2019 à 22:35, Chris Muller <asqueaker at gmail.com> a
>> écrit :
>>
>>> C'mon guys, it's neither!
>>>
>>> "Different super call" is a classic smell picked up by Lint, and I agree
>>> with Tim about "basicNew" -- is an unnecessary use of a low-level method.
>>>
>>> So why not simply the same conventional Smalltalky way, overriding
>>> #initialize like everywhere else?
>>>
>>>   initialize
>>>        super initialize.
>>>        self rows: 0 columns: 0 contents: Array empty
>>>
>>> And, done..?
>>>
>>>  - Chris
>>>
>>> On Wed, Sep 4, 2019 at 3:38 PM tim Rowledge <tim at rowledge.org> wrote:
>>>
>>>>
>>>>
>>>> > On 2019-09-04, at 12:58 PM, Thiede, Christoph <
>>>> Christoph.Thiede at student.hpi.uni-potsdam.de> wrote:
>>>> >
>>>> > Thank you :)
>>>> >
>>>> > A very minor question: Would you favor [self basicNew] over [super
>>>> new]? It will work completely equivalently, but what is the better style?
>>>>
>>>> ^super new
>>>>
>>>> `self basicNew` will not always work equivalently. And I can almost
>>>> guarantee it will always do the wrong thing just when you feel sure it is
>>>> doing the right thing. And you will suffer Debugging Hell.
>>>>
>>>>
>>>> tim
>>>> --
>>>> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
>>>> Why use one word when two polysyllabic agglomerates will do?
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190905/e4fb561d/attachment.html>


More information about the Squeak-dev mailing list