CINXE.COM
refactoring from FOLDOC
<!DOCTYPE html> <html lang="en"> <head> <title>refactoring from FOLDOC</title> <meta http-equiv="Content-Security-Policy" content="default-src 'unsafe-inline' http: https:"> <meta name="verify-v1" content="siAI0ZOMn41hao0E/T76D1I2L3MtFjzE48P3ctCjRNU="> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="msapplication-TileColor" content="#da532c"> <meta name="theme-color" content="#ffffff"> <meta name="google-translate-customization" content="828219db36930e1e-c51d915bf2ea717c-g9b503f9a85d5b5a7-a"> <!-- Google Analytics Global site tag (gtag.js) --> <script src="https://www.googletagmanager.com/gtag/js?id=UA-9715943-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-9715943-1'); </script> <!-- End Google Analytics --> <link href="//fonts.googleapis.com/css?family=Duru+Sans%7CBelgrano%7CInconsolata%7CAlef%7CArmata" rel="stylesheet" type="text/css"> <link rel="stylesheet" type="text/css" href="/css/layout.css?2"> <!-- realfavicongenerator.net --> <link rel="apple-touch-icon" sizes="152x152" href="/im/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="/im/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/im/favicon-16x16.png"> <link rel="manifest" href="/im/site.webmanifest"> <link rel="mask-icon" href="/im/safari-pinned-tab.svg" color="#5bbad5"> <link rel="canonical" href="https://foldoc.org/refactoring"> <link rel="alternate" type="application/rss+xml" title="FOLDOC" href="/rss.xml"> <link rel="search" title="FOLDOC" type="application/opensearchdescription+xml" href="//foldoc.org/search.xml"> <!-- AdSense --> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5521724329338202" crossorigin="anonymous"></script> <!-- AdSense end --> </head> <body> <div id="fb-root"></div> <script> (function (d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script> <div id="container"> <div id="left"> <a href="/"> <img src="/foldoc.gif" width="300" height="98" alt="Free On-line Dictionary of Computing" class="logo"> </a> <div id="nav"> <a href="/contents.html" class="button">Contents</a> <a href="/help.html" class="button">Help</a> <a href="/random-entry" class="button">Random</a> </div> <form action="/"> <input type="text" name="query" id="query" autofocus="autofocus"> <input type="submit" name="action" value="Search" class="button"> </form> <div id="content"> <h2>refactoring</h2> <p></p> <p><<i><a href="contents/programming.html">programming</a></i>></p> <p> Improving <a href="/software">software</a> by changing its internal structure without altering its external behaviour. <p></p> When <a href="/software+developers">software developers</a> add new <a href="/features">features</a> to code, it generally degrades because it was not designed with the extra features in mind. <p></p> This is solved by either rewriting the code or working around the problem. Rewriting code is extra work, but not doing so results in code that is increasingly and unnecessarily complicated. <p></p> Refactoring restructures code to clarify and simplify its design. This may involve extracting <a href="/reusable+code">reusable code</a>, removing <a href="/duplicate+code">duplicate code</a>, adding features to make the code easier to alter in future, renaming <a href="/functions">functions</a> and <a href="/variables">variables</a>, reorganising <a href="/classes">classes</a> and data structures. <p></p> <em><a href="http://st-www.cs.uiuc.edu/users/opdyke/wfo.990201.refac.html">"Refactoring, Reuse & Reality" by Bill Opdyke</a></em>. <p></p> <em><a href="http://aw.com/cseng/titles/0-201-89542-0/vidrefact/vidrefact.html">"Refactoring, a first example" by Martin Fowler</a></em>. <p></p> <p class="updated">Last updated: <a href="/new.html">2020-08-19</a></p> <p></p> <p class="vertical-space"></p><h3>Nearby terms:</h3> <p class="neighbours"> <a href="/re-engineering">re-engineering</a> ♦ <a href="/re-entrant">re-entrant</a> ♦ <b><a href="/refactoring">refactoring</a></b> ♦ <a href="/REFAL">REFAL</a> ♦ <a href="/REF-ARF">REF-ARF</a> ♦ <a href="/reference">reference</a> </p> <p> Try this search on <a href="https://www.wikipedia.org/wiki/Special:Search?search=refactoring">Wikipedia</a>, <a href="https://www.wiktionary.org/wiki/refactoring">Wiktionary</a>, <a href="https://www.google.com/search?q=define:refactoring">Google</a>, <a href="https://www.onelook.com/?w=refactoring">OneLook</a>. </p> <p class="vertical-space"></p> <hr> <div></div> <hr> <!-- if HTMLCOMMENTBOX --> <div id="HCB_comment_box">Loading</div> <link rel="stylesheet" type="text/css" href="//www.htmlcommentbox.com/static/skins/bootstrap/twitter-bootstrap.css?v=0"> <script language="javascript" id="hcb"> hcb_user = { PAGE: 'https://foldoc.org/refactoring', comments_header: ' ', no_comments_msg: ' ', err_comment_empty: 'Your comment was not posted because it was empty!', rss: '', }; var s = document.createElement("script"); s.setAttribute("type", "text/javascript"); s.setAttribute("src", "//www.htmlcommentbox.com/jread?page=" + escape(hcb_user.PAGE).replace(/\+/g, "%2B") + "&mod=%241%24wq1rdBcg%24.0y2uzvjA2bsnhzpXVq9F." + "&opts=17374&num=10"); // No e-mail field: 16846 if (typeof s != "undefined") document.getElementsByTagName("head")[0].appendChild(s); </script> <script> setTimeout(function () { document.getElementById('hcb_form_content').rows = 1 }, 1000); </script> <hr> <!-- end HTMLCOMMENTBOX --> </div> <!-- content --> </div> <!-- left --> <div id="right"> <div id="google_translate_element"> <script> function googleTranslateElementInit() { new google.translate.TranslateElement({ pageLanguage: 'en' }, 'google_translate_element'); } </script> <script src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> </div> <p><br></p> <hr> <div id="social"> <div class="fb-like" data-href="http://foldoc.org/" data-layout="button_count" data-action="like" data-show-faces="false" data-share="true"> </div> <a href="https://twitter.com/share" class="twitter-share-button" data-via="foldoc"> Tweet </a> <script> if (!document.getElementById('twitter-wjs')) { var fjs = document.getElementsByTagName('script')[0], js = document.createElement('script'); js.id = 'twitter-wjs'; js.src = 'https://platform.twitter.com/widgets.js'; fjs.parentNode.insertBefore(js, fjs); } </script> </div> <hr> <div> <p></p> </div> <p> <a href="/rss.xml"> <img src="/orangerss.gif" width="14" height="14" alt="RSS feed of new items"> </a> <a href="/new.html">Recent Updates</a> | <a href="/missing.html">Missing Terms</a> </p> <p>Updated: Sun, 06 Oct 2024 20:18:24 GMT</p> <p>15274 entries</p> <p><em><a href="/Free+On-line+Dictionary">Copyright Denis Howe 1985</a></em></p> </div> <!-- right --> </div> <!-- container --> <!-- Start Quantcast --> <script type="text/javascript"> window._qevents = window._qevents || []; (function() { var elem = document.createElement('script'); elem.src = 'https://secure.quantserve.com/quant.js'; elem.async = true; elem.type = 'text/javascript'; var scpt = document.getElementsByTagName('script')[0]; scpt.parentNode.insertBefore(elem, scpt); })(); window._qevents.push({ qacct: 'p-48Rosdvs3EiOc', uid: '__INSERT_EMAIL_HERE__' }); </script> <noscript> <div style="display:none;"> <img src="https//pixel.quantserve.com/pixel/p-48Rosdvs3EiOc.gif" border="0" height="1" width="1" alt="Quantcast"/> </div> </noscript> <!-- End Quantcast --> </body> </html>