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 for Smalltalk.
#61 www.service5.boulder.ibm.com:8080/servlet/reqServlet3?feature=61 is:
Title: RefactoringBrowserForJava
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
method...
Platform(s): All-Platforms
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 if there 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 Instantiations, Inc.
They make VAAssist, an IDE addon for VisualAge for Java. 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
- www.instantiations.com/alchemy/
Alchemy was the code name for jFactor - see
- www.instantiations.com/jfactor
--DanRubel (mailto:jfactor-support@instantiations.com)