I really want to clean the author code and related but I want to focus on etoy cleaning and finish.
yes, popups in the update process should be avoided (else this will kill an automated process).
In this case the reason is that TestCase class >> #methodChanged: is executed each time a method is modified or compiled and it then creates for each test case class a new dictionary that stores the author name (and if not set, this will trigger the popup). This dictionary is then stored in another dictionary in a class variable... is this really what we want/need?
Anyway, looking at the code of Author I also noticed that we now have already _three_ ways of accessing singletons. We had the following two (which I can never remember):
SmalltalkImage current SystemNavigation default
And now also: Author uniqueInstance
may be for this one we could use the singleton internal and propose some class methods to have a better interface.
It would be nice to have some code conventions (also on the formating) and that we try to keep an eye on the quality of the code that gets introduced in the image. For example, the following method I consider a bad smell:
Author>>#initials: aString initials := aString. "Case of being reset due to, eg, copy of image." aString isEmpty ifTrue: [name := '']
It looks like a normal accessor but has a side effect on another variable under some conditions. There should be another method #reset.
This initials and name stuff were wrong in Utilities and they are wrong in authors. Stef
Adrian ___________________ http://www.adrian-lienhard.ch/