IBM has a feature request to add some sort of refactoring capability to VisualAge
, similar to the various refactoring tools for Java (RefactoringBrowserForJava
) or the RefactoringBrowser
#61 www.service5.boulder.ibm.com:8080/servlet/reqServlet3?feature=61 is:
Product: VisualAge for Java
Component: Integrated Development Environment (IDE
Description: There is an excellent book about java refactoring by
MartinFowler. It would be great if at least some of the
refactorings can be supported by VisualAge for JavaIde. Ex.
rename field, rename method, rename class, move field, move
method, self encapsulate field, inline method, extract
Symptom(s): Capability/Function, Usability
Entered: Thu Sep 30 14:57:23 MDT 1999 by AM
If you would like to see this feature added I would suggest you go to the
request and vote for it. You will have to register, but it is free.
As of March 22nd 2000 there are 85 votes for this feature.
IBM Status: Wed Nov 10 15:39:15 MST 1999
User clarification - IBM is unable to respond to the request as defined. The
request may not be considered further by IBM until it has been revised and
clarified. See notes below for details of required information.
Can you help us prioritize the refactoring that we should do. It is not
feasible to implement the entire book. ie: rename field, rename method, rename
class, move field, move method, self encapsulate field, inline method, extract
method... What are the five or ten most important. Thanks
So what are the five or ten most important refactorings when RefactoringInJava
Note: max of 10 votes per voter since IBM is asking for 10 most important.
Adding a new refactoring and voting for it only counts as one vote.
- y:11 Move Method ( p. 142 )
- y:9 Rename Method ( p. 273 )
- y:8 Extract Method ( p. 110 )
- y:5 Extract Class ( p. 149 )
- y:5 Move Field ( p. 146 )
- y:3 Rename Field
- y:3 Replace Method with MethodObject ( p. 135 )
- y:2 Extract Superclass ( p. 336 )
- y:2 Extract Field
- y:2 Self Encapsulate Field ( p. 171 )
- y:2 Replace Temp with Query ( p. 120 )
- y:1 Inline Method ( p. 117 )
- y:1 Inline Field
- y:1 Inline Class ( p. 154 )
- y:1 Extract Subclass ( p. 330 )
- y:1 Extract Interface ( p. 341 )
The page numbers are from MartinFowler
's book RefactoringImprovingTheDesignOfExistingCode
IMHO, this may be the wrong attitude. We say we shouldn't haggle with
customers, yet here we are as customers, haggling. I suggest that either each
refactoring is worth defending on its own merits, or it isn't. If you accept
that, then instead of haggling over a top 10, we should be raising feature
requests for each of the most important refactorings.
On the other hand, perhaps there is more value in AutomatedRefactorings?
are lots of them, so perhaps starting with a top 10 is a good thing. On the
other other hand, breaking down our request into smaller chunks may make it
easier for IBM to chew through it.
As of 7/19/00 this request was in seventh place.
I think most of these could be done, in some form, using the IDE Tools
facilities already provided by the environment. Perhaps some of us could get at
least a demo going, and then point the IBM folks at *that*. Or even offer that
to the VisualAgeJava
community as an independent offering. -- TomStambaugh
You may get better results by asking for these features from
They make VAAssist, an IDE addon for VisualAge
One of its features is the ability to move methods via DragAndDrop
They are very responsive to feature requests. --AveryRegier
Instantiations have done it - see
Alchemy was the code name for jFactor - see