<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<!-- VERSION rmc:7.1.0 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<!-- START NON-TRANSLATABLE -->
<title>\xp\tasks\refactor_code.xmi</title>
</head>
<!-- WARNING: do not modify the generated comments in this file below this line.  They are used as markers for the import process. -->
<body>
Element Name: refactor_code.xmi<br/><br/>
<!-- END NON-TRANSLATABLE -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: presentationName<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:presentationName,{3DD335BB-45F6-49C7-B17A-90652C73A485} CRC: 290796006 -->Refactor Code<!-- END:presentationName,{3DD335BB-45F6-49C7-B17A-90652C73A485} -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: purpose<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:purpose,-IoT5LZUu3vnNFp-pwPUMHA CRC: 2293432397 --><a id="XE_refactor_code__activity_definition" name="XE_refactor_code__activity_definition"></a>
<ul>
    <li>
        To keep the design of the system clear and ready for change.
    </li>
</ul><!-- END:purpose,-IoT5LZUu3vnNFp-pwPUMHA -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: name<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:name,_oCr_UGE-EdqnIZeW8YpHcA CRC: 3304100054 -->Identify Poor Design <!-- END:name,_oCr_UGE-EdqnIZeW8YpHcA -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: sectionDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:sectionDescription,_oCr_UGE-EdqnIZeW8YpHcA CRC: 1713901318 --><a id="Step1" name="Step1"></a> 
<p>
    While developing, requirements change and previous design decisions can be invalidated. A new feature is added, you get
    it to work, but the structure and clarity of the code can degrade. You could leave it, and the design will slowly rot,
    or you could improve the design on the spot. Refactoring is about improving the design.
</p>
<p>
    A simple design has these four characteristics, listed in priority order:
</p>
<ul>
    <li>
        The system runs all the tests.
    </li>
    <li>
        It contains no duplicate code.
    </li>
    <li>
        The code states the programmers' intent very clearly.
    </li>
    <li>
        It contains the fewest possible number of classes and methods.
    </li>
</ul>
<p>
    A good resource for gaining refactoring knowledge is Martin Fowler's book: <i>Refactoring - Improving the Design of
    Existing Code</i> [<a class="elementLinkWithUserText"
    href="./../../xp/guidances/supportingmaterials/xp_and_agile_process_references,6.191633934532389E-306.html#FOW99"
    guid="6.191633934532389E-306">FOW99</a>]. Martin discusses the idea of bad code smells, how to detect them, what harm
    they will do to your software, and how to fix them.
</p>
<p>
    During development, you should look at the code refactoring with an open mind and find its weaknesses. Clarify the
    code; fix what needs to be fixed. As you discover these smells, you should work to eliminate them before proceeding to
    the next test case. Save some time before you check-in your code to step back and look it over. Identify duplicate code
    sections and places where the design intent is not clear.
</p><!-- END:sectionDescription,_oCr_UGE-EdqnIZeW8YpHcA -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: name<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:name,_oCr_UWE-EdqnIZeW8YpHcA CRC: 1447820118 -->Refactor <!-- END:name,_oCr_UWE-EdqnIZeW8YpHcA -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: sectionDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:sectionDescription,_oCr_UWE-EdqnIZeW8YpHcA CRC: 2738256427 --><a id="Step2" name="Step2"></a> 
<p>
    Refactoring involves making changes to your code which improve its structure without modifying its behavior. Martin
    Fowler's Refactoring book lists over sixty refactorings to handle particular code situations. The goal of each of them
    is to reduce duplication in the code base and increase clarity. Leave your code clean, simple, and free from
    duplication.
</p>
<p>
    As the structure of your code base evolves, you choose names which aid your understanding of the functionality
    specified by the code. This system of names becomes the vocabulary for your team's discussion of design.
</p><!-- END:sectionDescription,_oCr_UWE-EdqnIZeW8YpHcA -->
</body>
</html>
