[ANN] Refactoring Browser port to Squeak goes beta

danielv at netvision.net.il danielv at netvision.net.il
Sun Sep 2 11:39:35 UTC 2001


So, the Squeak RB port team reports:
Our goal was to advance the RB port as done by Bob Hartwig and the
people at the previous CS from alpha state to beta. 

At a high level, this means that we expect just about anyone should be
able to load the Refactoring Browser and do all their daily work on it.
Since the port creates a subclass of the regular browser, this should be
a definite improvement on what's available now, even if not everything
is perfect.

Specifics - the Refactoring Browser as we release it, loads cleanly on
an updated image (4164 and up), lots of refactorings work (almost
everything done over methods and variables), and the critical UI support
code is there.

So - we urge everyone to take a look, especially people familiar with
the refactoring browser (to find problems) and also people that aren't
(because everyone have the tools to make code better).

Ok, so where's the code?
The code is on the squeak foundation ftp site, at -
ftp://ftp.squeakfoundation.org/pub/packages/RefactoringBrowser/

What you need are 4 files, to be loaded in this order -
ClassBuilder.1.cs - a tiny patch to the ClassBuilder to avoid a problem
loading one of the next files. I'm not sure this is a good permanent
solution, but it's very meek and harmless.
RBModel_26.cs - slightly modified version of the refactoring engine as
appears on BobH's site. Note this file is pretty big and takes a while
to load.
RBUI_18.cs - exact copy of BobH's file
RBPortBeta.6.cs - Our modifications.

and then, RefactoringBrowser openBrowser

Other files -
Bob Hartwig's site includes a UI for the Lint tool (find bugs, code
smells, and oddities automatically) which is uses the RB model. We
haven't tested or modified it.
You might also be interested in downloading the latest SUnit framework
and tests for the model classes (especially if you want to help improve
the browser), this is also described on Bob Hartwig's site.

What isn't there (and why the code is beta, ie, not ready to go into the
base image) -
* Lots of obsolete support classes and changes that are deeper than
needed to the base image are still there.
* No rewrite rule editor UI yet.
* Operations on classes not tested - some definitely don't work.
* Extract Method To Component doesn't work yet (requires more UI work,
soon)
* The UI code is written mostly in the tradition Browser big ball of mud
style. This should definitely be refactored over time...
* Lots of features we consider secondary (or didn't remember that
existed) - the class hierarchy view for example - are simply not there.
You want 'em, say so.

we got all kinds of support, technical and moral, from other Campers:
Joseph Pelrine 
Markus Denker
Hans Martin Mosner
Roger Whitney

The Squeak RB at CS3 team -
Markus Gaelli
Michael Pruemm
Frank (I didn't get his last name)
and Yours Squeakily, Daniel Vainsencher

PS - For those of you who have never been to CampSmalltalk (like until
this time) - you should. It's great to meet the wider Smalltalk family,
and generally work together.




More information about the Squeak-dev mailing list