[KCP] SystemChangeNotifications: Current state and some code

Roel Wuyts wuyts at iam.unibe.ch
Tue Jul 15 08:42:10 UTC 2003


Oops, I forgot to add this point on my to-do list. It is one of the 
reasons that I did not write too much documentation yet (because 
otherwise I have to keep it up-to-date whenever I refactor some name 
:-(  ). The current names 'grew' while developing but are not really 
good.

Note that the names you propose will not really do though (since for 
example, the current  SystemAddedEvent can be used with classes, 
methods, instance variables, etc.). That is why I took this name:-) But 
since I know I am not very good at names any input on this front is 
welcome :-)

PS: Thanks for pointing out that it is one of the Squeak traditions to 
not use prefixes for class names. This used to be the convention in 
Smalltalk (at least in VisualWorks), to make it clear which code 
belonged together when not seeing it in categories, and for avoiding 
name clashes. I was not aware that this was changed in the meantime in 
Squeak, even in the absence of namespaces.

PS2: [fun] you have to agree that SystemEvent is already a much better 
name than ExtensionalClassification :-) :-) Maybe I'll learn it in the 
end :-) :-)

On Tuesday, Jul 15, 2003, at 10:25 Europe/Zurich, Brent Pinkney wrote:

> Roel,
>
> I have not had the time to install and test your code.
>
> I do think however that we must be very careful when naming new 
> classes, especially of this significance.
>
>>> (4) SystemEvent: root class of the events that implement most of the 
>>> functionality
>>>  ...snip...
>>> so you find classes SystemAddedEvent, SystemRenamedEvent, ...
>
> One of the traditions of Smalltalk and Squeak in particular is that 
> class names do not describe their implementation or namespace.
>
> This exact issue has come up recently on the list with the 
> introduction of the Deprecation exception. That class was originally 
> called DeprecatedException. This, I hope you agree, does not match the 
> feel established by the ANSI exceptions: DivideByZero and 
> MessageNotUnderstood, Halt.
>
> The mailing list seemed to agree and the class was renemed to 
> Deprecation.
>
> Similarly I would strongly urge you to concider a similar naming 
> convention\hierarchy for the events...
>
> e.g. (of the top of my head)
>
> Event
>    CodeModified
>       ClassChanged
>       ClassRenamed
>       ClassAdded
>       ClassRemoved
>       MethodAdded
>       MethodRemoved
>
> PS. For this same reason, objects like SMObject and MagmaCollection 
> make me unhappy, despite their excellent functionality.
>
> There is something very homely and intimate in the Smalltalk 
> convention which prevents is feeling like _code_. It is about as far 
> away from Hungarian notation as you can get - Squeak has ubiqitious 
> reflection to assist the developer.
>
>
> Thanks
>
> Brent
>
>
Roel Wuyts                                                   Software 
Composition Group
roel.wuyts at iam.unibe.ch                       University of Bern, 
Switzerland
http://www.iam.unibe.ch/~wuyts/
Board Member of the European Smalltalk User Group: www.esug.org



More information about the Squeak-dev mailing list