Yes I was thinking the same.

Stef

On Thu, Aug 31, 2017 at 8:54 PM, PBKResearch <pe...@pbkresearch.co.uk> wrote:
> Stef
>
> Done - 
> https://pharo.fogbugz.com/f/cases/20363/ThemeIcons-downloadTo-has-an-argument-which-is-never-referenced-in-code
>
> What really puzzled me is that this situation was not picked up by a code 
> critic. 'Local variable declared and not referenced' is a common critic 
> message, and this looks like a parallel situation. But I don't think this can 
> be called a bug in the code critic system - can it?
>
> Peter Kenny
>
> -----Original Message-----
> From: Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] On Behalf Of 
> Stephane Ducasse
> Sent: 31 August 2017 19:16
> To: Any question about pharo is welcome <pharo-users@lists.pharo.org>
> Subject: Re: [Pharo-users] Code mystery
>
> Can you open a bug entry?
> I can tell you that we clean a lot but human activity will always leads to 
> glitches.
>
> On Tue, Aug 29, 2017 at 1:23 AM, Dimitris Chloupis <kilon.al...@gmail.com> 
> wrote:
>> You are not going crazy that's an ugly method. Probably the author
>> intended to use dir and the forgot about it and instead hard coded the
>> dir path inside a class method. A mistake that can happen to anyone.
>>
>> The method will have to be updated anyway because name is to be
>> removed, so it won't work.
>>
>> As always too much code too few people. If you think that's bad
>> embrace yourself if you try to read Morphic code. Huge suffering for
>> me when I tried to learn how the task bar works and apparently using
>> it wrong it freezes the image.
>>
>> Tons of Pharo code needs a clean but needs also a lot more people.
>> On Tue, 29 Aug 2017 at 01:52, PBKResearch <pe...@pbkresearch.co.uk> wrote:
>>>
>>> Hello All
>>>
>>>
>>>
>>> Following the discussion on dark mode, I was browsing the code on
>>> themes (in Moose 6.1 = Pharo 6.0, Latest update: #60486). In Class
>>> ThemeIcons, I found this method:
>>>
>>>
>>>
>>> downloadTo: dir
>>>
>>>                | zipArchive |
>>>
>>>
>>>
>>>                zipArchive := self class destinationPath / (self name,
>>> '.zip').
>>>
>>>                zipArchive exists
>>>
>>>                               ifFalse: [
>>>
>>>                                              ZnClient new
>>>
>>>                                                             url: self
>>> url;
>>>
>>>                                                             downloadTo:
>>> zipArchive ].
>>>
>>>
>>>
>>>                ^ zipArchive
>>>
>>>
>>>
>>> The mystery is that the argument dir is not referred to anywhere in
>>> the code. It probably works, because the only invocation of the
>>> method is from
>>> ThemeIcons>>downloadFromUrl, which sets the argument from self class
>>> destinationPath, and the code above recreates this as the path to
>>> zipArchive.
>>>
>>>
>>>
>>> I thought I understood Smalltalk coding fairly well, but this really
>>> puzzles me. Why would anyone code like this? Shouldn’t it be picked
>>> up by a code critic? Or am I going crazy?
>>>
>>>
>>>
>>> Any help gratefully received
>>>
>>>
>>>
>>> Peter Kenny
>
>

Reply via email to