blob: 021c8d3b56ada80da4b1076bc3d3e8e1793d88c9 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" href="../book.css" charset="ISO-8859-1" type="text/css">
<title>Refactoring support</title>
</head>
<body>
<h1>Refactoring support</h1>
<p>The goal of Java program refactoring is to make system-wide code changes without affecting the behavior of the
program. The Java tools provide assistance in easily refactoring code.
</p>
<p>The refactoring tools support a number of transformations described in Martin Fowler's
book <span class="name">Refactoring: Improving the Design of Existing Code</span>, Addison Wesley
1999, such as <span class="name">Extract Method</span>, <span class="name">Inline Local
Variable, etc.</span></p>
<p>When performing a refactoring operation, you can optionally preview all
of the changes resulting from a refactoring action before you choose to carry them out.
When previewing a refactoring operation, you will be notified of potential
problems and will be presented with a list of the changes the
refactoring action will perform. If you do not preview a refactoring
operation, the change will be made in its entirety and any resultant
problems will be shown. If a problem is detected that does not allow
the refactoring to continue, the operation will be halted and a list of
problems will be displayed.</p>
<p>Refactoring commands are available from the context menus of several Java views (e.g. Package Explorer, Outline) and editors.
Many &quot;apparently simple&quot; commands, such as <strong>Move</strong> and <strong>Rename</strong>, are
actually refactoring operations, since moving and renaming Java elements
often require changes in dependent files.
</p>
<p><img width="159" height="27" src="../images/ngrelc.gif" alt="Related concepts" border="0"><br>
<a href="../concepts/concepts-1.htm">Java development tools (JDT)</a></p>
<p><img border="0" width="159" height="27" src="../images/ngrelt.gif" alt="Related tasks"><br>
<a href="../tasks/tasks-80.htm">Refactoring</a><br>
<a href="../tasks/tasks-82.htm">Refactoring without preview</a><br>
<a href="../tasks/tasks-83.htm">Refactoring with preview</a><br>
<a href="../tasks/tasks-84.htm">Previewing refactoring changes</a><br>
<a href="../tasks/tasks-100.htm">Undoing a refactoring operation</a><br>
<a href="../tasks/tasks-101.htm">Redoing a refactoring operation</a><br>
</p>
<p><img border="0" width="159" height="27" src="../images/ngrelr.gif" alt="Related reference"><br>
<a href="../reference/ref-menu-refactor.htm">Refactoring actions</a><br>
<a href="../reference/ref-117.htm">Refactoring wizard</a><br>
<a href="../reference/ref-23.htm">Refactoring preferences</a><br>
<a href="../reference/ref-154.htm">Extract Method Errors</a><br>
</p>
<p><a href="../hglegal2003.htm"><img src="../images/ngibmcpy2003.gif" width=324 height=14 alt="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved." border="0"></a></p>
</body>
</html>