[KCP] SystemChangeNotifications: Current state and some code

Doug Way dway at riskmetrics.com
Mon Jul 21 16:20:19 UTC 2003


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

> 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.
> ...
>
> PS. For this same reason, objects like SMObject and MagmaCollection 
> make me unhappy, despite their excellent functionality.


Roel Wuyts wrote:

> 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.


I'm not sure if I would go quite that far.  The KCP code is somewhat 
different than external packages like Magma.  With KCP, you're working 
on classes which will be at the core of Squeak, so I think it is good to 
not use gratuitous prefixes in the class names, because there's not 
really any worry about namespace clashes.  With an external package like 
Magma, using prefixes (e.g. MagmaCollection) may not be a bad idea, 
since there is a more real possibility of namespace clashes if you 
don't.  Within reason, of course.

- Doug Way




More information about the Squeak-dev mailing list