[squeak-dev] Code distribution (was Re: Gofer versus Installer)

Colin Putney colin at wiresong.com
Fri Dec 17 20:42:59 UTC 2010


On Fri, Dec 17, 2010 at 3:06 PM, Chris Muller <asqueaker at gmail.com> wrote:
> But let's not temper wild-and-crazy _too_ much.  Classes are just
> objects in the system.  I would not want to discourage it if some
> really dynamic system that "enhances itself" could be reailized, even
> if it resulted in 10 thousand dynamically-generated classes..

Yeah, I've wrestled with this issue a bit. OmniBrowser uses a
convention where there's a separate class for each menu command. In
the current version of OmniBrowser, with all the RB stuff installed,
there are 167 such classes. They're not dynamically generated, each
one was hand-coded by a contributor.

When I first came up with that design, I thought it was pretty awful,
but I implemented it anyway, as an exercise in reductio ad absurdum,
hoping that I would learn something that would lead me to a better
design. To my surprise it was a massive improvement over the previous
design, and I haven't been able to come up with anything better.

So yeah, I agree that both everything-in-one-class and
many-classes-with-few-methods are both warning signs. OTOH, sometimes
there are good reasons to break this kind of rule of thumb.

Colin



More information about the Squeak-dev mailing list