2. WHAT ARE THE KEY REFACTORING
CAPABILITIES
Eclipse
• Extract Class
• Extract Interface
• Extract Superclass
• Extract Method
• Push Down
• Extract Local Variable
• Extract Local Variable
• Change Method Signature
Visual works
• Add Class
• Add Method
• Add Instance Variable
• Remove Class
• Remove Method
• Remove Instance Variable
• Rename Class
• Rename Method
• Move Method
• Rename Instance Variable
• Pull Up Instance Variable
• Push Down Instance Variable
• Abstract Instance Variables
• Move Instance Variable
3. WHAT SOFTWARE ARTIFACTS ARE
AFFECTED BY INDIVIDUAL
REFACTORING OPERATIONS?
Eclipse
• The only artifact that the JDT modifies,
is the system source code
• JDT has coarse (package
manipulation), medium (class
manipulation) and fine (method and
variable manipulations) granularity
Visual works
• The only artifact that Visual Works
modifies, is the system source code
• VisualWorks has medium (class
refactorings) to fine (method and
variable refactorings) granularity.
4. WHAT CAPABILITIES ARE
MISSING?
Eclipse
• The tool has no knowledge about the state
of the system, after the user manually
modifies the project source code.
• The JDT does not include metrics of any
kind. This should not be considered as a
serious draw back since, by using the
Eclipse plug-in capabilities, the JDT can be
extended so as to include these
functionalities.
Visual works
• The browser does not provide facilities for
managing different versions.
• VisualWorks does not include metrics of
any kind
• To obtain any information about the quality
or modularity of the code produced by
refactoring a system, it is necessary to use
some tool that has this capability
5. HOW CAN THE TOOL BE
EXTENDED?
Eclipse
• At the Eclipse Platform level, it should
be possible to add plug-ins with more
general metrics, that include different
types of projects, for example UML
projects that interact with code projects.
Visual works
• By providing a GUI that permits
refactoring definition so that user can
use the framework without extensive
knowledge about the theory on which
refactorings are based.
6. WHAT KIND OF VIEWS DOES THE
TOOL SUPPORT?
Eclipse
• Static.
• Eclipse tool provides incremental
project build support, and this is used
by the JDT Java compiler to
incrementally build Java projects.
Visual works
• Dynamic.
• VisualWorks is a Smalltalk
environment, and these environments
use dynamic compilation.
7. IS THE TOOL END-USER
PROGRAMMABLE?
Eclipse
• YES
Visual works
• YES