[KCP] SystemDictionary cleaning: Comments and design

Stephane Ducasse ducasse at iam.unibe.ch
Wed Jun 11 20:14:15 UTC 2003


Come one andreas

	Image abandoneSources

Does not tell you something?

Please tell me that I'm wrong and stupid to lose my time cleaning 
Squeak and I stop.
Seriously. No joke. I have something else that hearing that.


Stef

On Wednesday, June 11, 2003, at 09:18 PM, Andreas Raab wrote:

> Stef,
>
>>>  Look for instance at Utilities class comment. It
>>> says: 'methods that don't naturally attach to anything else'. These
>>> methods are functions and you won't create instances of the new
>>> classes, they are just more or less function-holders. There is no
>>> complicated interdependency of classes and methods to understand. It
>>> is only a question of 'listing' these functions.
>>
>> If this is what **you** believe...
>
> And me too. If there is a recognizable concept for a number of methods 
> which
> make sense to think about them as "attached to" a common class (system
> navigation for example) then I'm all for it. But in many other cases we
> merely have utility functions and forcing "arbitrary concepts" will 
> only
> make things more complex - mostly you will start moving around the 
> methods
> for the mere purpose of putting them NOT into a specific place which 
> means
> you'll have much more confusion in the long term.
>
> For example, consider a method like #abandonSources. I don't see any 
> easy
> place where this method should live and if you would forcefully "clean 
> up"
> SystemDictionary then all you know is that you do NOT want it there - 
> but
> you've got no good concept yet where to stick it otherwise. Let's 
> consider
> someone says "let's put this into FileDirectory" because it does 
> something
> with files. Now, any code has to be rewritten against file directory. 
> Except
> that at some later point someone might say "oh, it really belongs into
> FileStream" and then any code has to be rewritten against that place. 
> And so
> on. In the long-term, there are always going to be some utility methods
> which cannot be cleanly attached to some class or other and then it's 
> really
> more about "listing" them.
>
> The bottom line of this is really: a) Think *very* carefully about the
> classes (concepts) you want to introduce for utility methods. b) 
> Provide a
> (couple of) generic places where utility methods can live. Right now 
> we have
> two such places - SystemDictionary which holds most of the "environment
> related" utility methods and Utilities which holds most of the rest.
> Introducing a hundred new classes all of which have one or two methods 
> just
> so that they are NOT in some place isn't very good design either. IMO 
> at
> least.
>
> Cheers,
>   - Andreas
>
>
>



More information about the Squeak-dev mailing list