Review: Aqris RefactorIT 1.3.2
by: Drew Falkman
Introduction
Anyone who has ever worked with a large codebase, one with
hundreds of classes, knows that refactoring is an
important step in any development cycle. For the unitiated,
refactoring is the process of cleaning up code to remove
unneeded items, eliminate redundancies and an overall
streamlining all of the objects, classes and packages within a
development environment. It can include anything from renaming
methods and objects to breaking up a single method into multiple
more scalable methods and other similar tasks, essentially
anything that will make the code tighter, more readable and
easier to modify for future programmers. Many of the refactoring
tools currently available are standalone applications and are
geared towards software developers who include refactoring as a
crucial step in their overall software development life cycles.
However, in the corporate environment where there are often
numerous developers (both in-house and outsourced) working on
numerous modules across the enterprise, this step is often
overlooked or put off until it is a gigantic task. Quite often
it is forced because a giant spaghetti-code mass has led to
errors and performance issues.
This is the need Aqris is attempting to address with RefactorIT.
RefactorIT works as a standalone application or integrates with
numerous Integrated Development Environments (IDEs): Sun ONE
Studio 4 (Forte), NetBeans, Borland JBuilder (version 5 and up)
and Oracle 9i JDeveloper. RefactorIT is a solid refactoring
tool for corporate environments that develop in Java.
Let's take a look.
What You Can Do With RefactorIT
RefactorIT has four different usages:
- Automatic Refactorings: These are items
that can be redone throughout your codebase quickly and easily.
Such items including moving methods/classes, renaming objects
and cleaning up import statements. Changing items will also
change all of the instances that the changed object (or whatever
you are changing) are called on. One change often effects
numerous classes.
- Code Searching and Analyzing: RefactorIT
can also search through your codebase to find specific items
that you specify. This can include comparing two API versions,
finding duplicate strings and finding where a specific exception
is handled.
- Auditing: Audits of your codebase will warn
of potential hazards and messiness such as unused variables and
imports, empty blocks and self assignments.
- Metrics Measuring: RefactorIT can also
measure a number of key metrics in your code, items you can
analyze and interpret however you like, including lines of code,
density of comments and number of types.
Note: a more comprehensive list of what RefactorIT does can be
found in a PDF factsheet at their Web site.
If you are new to the concept of refactoring, you are probably
wondering just how you have gotten by without it up until now. I
to am wondering how you got by without it as well, quite
frankly. The power of a tool like this to enable you to move a
method from one class in one package to another class in another
package and update all of the code where that method is called
on, is a marvel. Add in the ability to analyze, audit and
measure code and you have a really powerful tool that can save
developers hundreds of hours in the long run and minimalize poor
coding practices that may have otherwise slipped through the
cracks.
That all said, some of these tools are available from within
most IDEs already. It is noticeable that RefactorIT is not
available in versions for BEA Systems' WebLogic Studio, IBM
WebSphere Studio (and thus Eclipse) or IDEA IntelliJ. This is
likely because these IDEs all have at least some of the major
refactoring tools built in (with the exception of Eclipse, which
is not really an enterprise-level tool per se, more on this
later... Even the supported IDEs do support some of these
analytic and refactoring tools, but none have all of these
capabilities, and these capabilities allow companies to elevate
the level of code they are creating.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|