On Sat, Sep 15, 2001 at 10:45:50AM +0200, Michael G Schwern wrote:
>     1)  Change this() to that() in both 'Foo' and 'Bar', and change all
>         instances of $obj->this to $obj->that.
> 
>     2)  Walk through each call to $obj->this and decide if it should
>         be changed to $obj->that.
> 
> That's it.  And the refactoring browser just helps you with the
> mechanics of that.
> 
> THAT'S SO EASY!  If it works for them, it can work for us.
> 
> 
> So, I can handle the underlying mechanics no problem.  Who's good at
> GUIs?
> 

It seems to me that the main advantage of a refactoring browser in
Smalltalk is its proximity to the editing environment. You're coding
along, you notice something that seems like one of the "smells" that
Beck describes, and so you pull up the refactoring browser.

So I'd think the best thing to do to make something that can produce
answers to things like "what are the implementors of foo". Then emacs
modes, komodo add-ins, and vim macros could be made to read the output
and direct the editor. A GUI that displays the results into a bunch of
Gtk widgets is pretty simple once we have code that makes the right
queries.

Tom Christiensens's pmtools
http://language.perl.com/misc/pmtools-1.00.tar.gz, might have the
start of some of the queries needed for a refactoring system. Things
like "pmeth" to tell you what a class implements or plxload to tell
you what modules a script uses.

To take things from another point, someone once announced on PerlMonks
that he was working on a Smalltalk style environment for perl.
http://www.perlmonks.com/index.pl?node_id=70415&lastnode_id=864 Maybe
a refactoring browser could be added on to that.

-- 
"I'm going to sing Twinkle Twinkle in Jazz: TWINKle, TWINKle, lit-tle-star.
HOW i WONder what-you-are..."  - Samantha Langmead, age 4

Reply via email to