[KCP] SystemChangeNotifications: Current state and some code

Brent Pinkney pinkney_b at aircom.co.za
Tue Jul 15 08:25:03 UTC 2003


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



More information about the Squeak-dev mailing list