📄 wikipagesaboutrefactoring.html
字号:
<head><title>Wiki Pages About Refactoring</title></head><body><h1><img src="logo.gif"> Wiki Pages About Refactoring</h1><em>"The two most important tools an architect has are the eraser in the drawing room and the sledge hammer on the construction site." - <a href="http://c2.com/cgi/wiki?FrankLloydWright">FrankLloydWright</a></em>
<p>(<a href="http://c2.com/ppr/wiki/WikiPagesAboutRefactoring/html.zip">http://c2.com/ppr/wiki/WikiPagesAboutRefactoring/html.zip</a> -- fast download of these pages.)
<p><strong>Definition:</strong>
<UL><li><a href="http://c2.com/cgi/wiki?ReFactor">ReFactor</a>
<li><a href="http://c2.com/cgi/wiki?RefactoringEqualsReparametrization">RefactoringEqualsReparametrization</a>
<li><a href="http://c2.com/cgi/wiki?CodeNormalization">CodeNormalization</a>
<li> <a href="http://c2.com/cgi/wiki?WhatIsRefactoring">WhatIsRefactoring</a>
<p></UL><strong>Catalogs:</strong>
<UL><li><a href="http://c2.com/cgi/wiki?BigRefactorings">BigRefactorings</a>
<p></UL><strong>Costs and benefits:</strong>
<UL><li><a href="http://c2.com/cgi/wiki?GoFasterWithRefactoring">GoFasterWithRefactoring</a>
<li><a href="http://c2.com/cgi/wiki?CostOfRefactorCarry">CostOfRefactorCarry</a>
<li><a href="http://c2.com/cgi/wiki?RefactoringAndRewriting">RefactoringAndRewriting</a>
<li><a href="http://c2.com/cgi/wiki?RefactoringFriendly">RefactoringFriendly</a>
<li><a href="http://c2.com/cgi/wiki?RefactoringIsntOverhead">RefactoringIsntOverhead</a>
<li><a href="http://c2.com/cgi/wiki?RefactoringYtwok">RefactoringYtwok</a>
<li><a href="http://c2.com/cgi/wiki?EconomicsOfRefactoring">EconomicsOfRefactoring</a>
<p></UL><strong>Counterbalances less design up front:</strong>
<UL><li><a href="http://c2.com/cgi/wiki?RefactoringIsaRequirement">RefactoringIsaRequirement</a>
<li><a href="http://c2.com/cgi/wiki?OaooBalancesYagni">OaooBalancesYagni</a>
<p></UL><strong>Small is good:</strong>
<UL><li><a href="http://c2.com/cgi/wiki?RefactorInVerySmallSteps">RefactorInVerySmallSteps</a>
<li><a href="http://c2.com/cgi/wiki?BiggerRefactoringThoughts">BiggerRefactoringThoughts</a>
<li><a href="http://c2.com/cgi/wiki?NanoRefactorization">NanoRefactorization</a>
<li><a href="http://c2.com/cgi/wiki?ImagineTheRefactoring">ImagineTheRefactoring</a>
<p></UL><strong>Continuous is good:</strong>
<UL><li><a href="http://c2.com/cgi/wiki?ConstantRefactoringIsaGoodThing">ConstantRefactoringIsaGoodThing</a>
<li><a href="RefactorMercilessly.html">RefactorMercilessly</a>
<li><a href="http://c2.com/cgi/wiki?OpportunisticRefactoring">OpportunisticRefactoring</a>
<p></UL><strong>Although sometimes done in larger chunks:</strong>
<UL><li><a href="http://c2.com/cgi/wiki?RefactoringIteration">RefactoringIteration</a>
<li><a href="http://c2.com/cgi/wiki?RefactorSlack">RefactorSlack</a>
<p></UL><strong>Refactoring and understandability:</strong>
<UL><li><a href="http://c2.com/cgi/wiki?RefactoringMercilesslyHidesTheForest">RefactoringMercilesslyHidesTheForest</a>
<li><a href="http://c2.com/cgi/wiki?WhatItTakesToGrokCode">WhatItTakesToGrokCode</a>
<li><a href="http://c2.com/cgi/wiki?WellFactoredProgramsCannotBeUnderstoodStatically">WellFactoredProgramsCannotBeUnderstoodStatically</a>
<li><a href="http://c2.com/cgi/wiki?StudyTheSourceWithaDebugger">StudyTheSourceWithaDebugger</a>
<li><a href="http://c2.com/cgi/wiki?WhenIsRefactoringFinished">WhenIsRefactoringFinished</a>
<p></UL><strong>One thing at a time is good:</strong>
<UL><li><a href="http://c2.com/cgi/wiki?RefactoringHat">RefactoringHat</a>
<li><a href="http://c2.com/cgi/wiki?OnlyWearOneOfFourHats">OnlyWearOneOfFourHats</a>
<p></UL><strong>Continuous testing is good:</strong>
<UL><li><a href="http://c2.com/cgi/wiki?TestEveryRefactoring">TestEveryRefactoring</a>
<p></UL><strong>Refactoring Rules:</strong>
<UL><li><a href="http://c2.com/cgi/wiki?RefactoringLanguage">RefactoringLanguage</a>
<li><a href="http://c2.com/cgi/wiki?RefactoringPatterns">RefactoringPatterns</a>
<li><a href="http://c2.com/cgi/wiki?WhatIsaFactor">WhatIsaFactor</a>
<p></UL><strong>Goals:</strong>
<UL><li>Refactoring to be ready for unanticipated change
<UL><li><a href="ExtremeNormalForm.html">ExtremeNormalForm</a> <== <em>Recommended</em>
<li><a href="http://c2.com/cgi/wiki?ExtremeNormalFormDefinitions">ExtremeNormalFormDefinitions</a>
<li><a href="http://c2.com/cgi/wiki?WhatMakesSoftwareFlexible">WhatMakesSoftwareFlexible</a>
<li><a href="http://c2.com/cgi/wiki?MultipleInheritanceIsNotEvil">MultipleInheritanceIsNotEvil</a>
<p></UL><li>Refactoring to reduce code smells
<UL><li><a href="CodeSmells.html">CodeSmells</a> <== <em>Recommended</em>
<li><a href="ListenToTheCode.html">ListenToTheCode</a>
<li><a href="AskTheCode.html">AskTheCode</a>
<p></UL><li>Refactoring to reduce redundancy
<UL><li><a href="http://c2.com/cgi/wiki?OnceAndOnlyOnce">OnceAndOnlyOnce</a> <== <em>Recommended</em>
<li><a href="http://c2.com/cgi/wiki?AbstractWithOnceAndOnlyOnce">AbstractWithOnceAndOnlyOnce</a>
<li><a href="http://c2.com/cgi/wiki?BridgeIsJustGoodFactoring">BridgeIsJustGoodFactoring</a>
<li><a href="http://c2.com/cgi/wiki?JustGoodFactoring">JustGoodFactoring</a>
<li><a href="http://c2.com/cgi/wiki?MetaRefactoring">MetaRefactoring</a>
<p></UL><li>Refactoring for clarity
<UL><li><a href="http://c2.com/cgi/wiki?ShortMethods">ShortMethods</a>
<li><a href="http://c2.com/cgi/wiki?ComposedMethod">ComposedMethod</a>
<li><a href="http://c2.com/cgi/wiki?ExtractMethod">ExtractMethod</a>
<li><a href="http://c2.com/cgi/wiki?MethodObject">MethodObject</a>
<li><a href="http://c2.com/cgi/wiki?WellFactoredCode">WellFactoredCode</a>
<li><a href="http://c2.com/cgi/wiki?SimplyUnderstoodCode">SimplyUnderstoodCode</a>
<li><a href="http://c2.com/cgi/wiki?SeparateTheWhatFromTheHow">SeparateTheWhatFromTheHow</a>
<li><a href="http://c2.com/cgi/wiki?IntentionNotAlgorithm">IntentionNotAlgorithm</a>
<p></UL><li>Refactoring to learn or teach
<UL><li><a href="http://c2.com/cgi/wiki?RefactoringReviews">RefactoringReviews</a>
<p></UL><li>Refactoring for other reasons
<UL><li><a href="http://c2.com/cgi/wiki?MoveMethod">MoveMethod</a>
<li><a href="http://c2.com/cgi/wiki?RefactoringAddingComplexity">RefactoringAddingComplexity</a>
<li><a href="http://c2.com/cgi/wiki?ChangeVelocity">ChangeVelocity</a>
<li><a href="http://c2.com/cgi/wiki?ExtractImplementationFromHeader">ExtractImplementationFromHeader</a>
<p></UL><li>Conflicting goals
<UL><li><a href="http://c2.com/cgi/wiki?CircularRefactoring">CircularRefactoring</a>
<li><a href="http://c2.com/cgi/wiki?CanOnceAndOnlyOnceLoop">CanOnceAndOnlyOnceLoop</a>
<li><a href="http://c2.com/cgi/wiki?RefactorCollision">RefactorCollision</a>
<p></UL></UL><strong>Tools:</strong>
<UL><li><a href="http://c2.com/cgi/wiki?RefactoryBrowser">RefactoryBrowser</a>
<li><a href="http://c2.com/cgi/wiki?RefactoringBrowser">RefactoringBrowser</a>
<UL><li><a href="http://c2.com/cgi/wiki?VisualAgeJavaRefactoringBrowser">VisualAgeJavaRefactoringBrowser</a> - <em>Request for the addition of a <a href="http://c2.com/cgi/wiki?RefactoringBrowser">RefactoringBrowser</a> in <a href="http://c2.com/cgi/wiki?VisualAge">VisualAge</a></em>
</UL><li><a href="http://c2.com/cgi/wiki?XrefSpeller">XrefSpeller</a>
<p></UL><strong>Books:</strong>
<UL><li> <a href="http://c2.com/cgi/wiki?RefactoringImprovingTheDesignOfExistingCode">RefactoringImprovingTheDesignOfExistingCode</a> - by <a href="http://c2.com/cgi/wiki?MartinFowler">MartinFowler</a>
<p></UL><strong>Language Specific:</strong>
<UL><li> <a href="http://c2.com/cgi/wiki?RefactoringInVisualBasic">RefactoringInVisualBasic</a>
<li> <a href="http://c2.com/cgi/wiki?RefactoringInJava">RefactoringInJava</a>
<p></UL><strong>Other summary pages:</strong>
<UL><li><a href="http://c2.com/cgi/wiki?RefactoringPatterns">RefactoringPatterns</a>
<p></UL><strong>Related pages about comments and code clarity:</strong>
<UL><li><a href="http://c2.com/cgi/wiki?CommentCostsAndBenefits">CommentCostsAndBenefits</a>
<li><a href="http://c2.com/cgi/wiki?CommentExample">CommentExample</a>
<li><a href="http://c2.com/cgi/wiki?CommentingChallenge">CommentingChallenge</a>
<li><a href="http://c2.com/cgi/wiki?IdentifiersAreComments">IdentifiersAreComments</a>
<li><a href="http://c2.com/cgi/wiki?MeaningfulComment">MeaningfulComment</a>
<li><a href="http://c2.com/cgi/wiki?MethodCommenting">MethodCommenting</a>
<li><a href="http://c2.com/cgi/wiki?ToNeedComments">ToNeedComments</a>
<li><a href="http://c2.com/cgi/wiki?TreatCommentsWithSuspicion">TreatCommentsWithSuspicion</a>
<li><a href="http://c2.com/cgi/wiki?WellCommentedCode">WellCommentedCode</a>
<p></UL><strong>Related pages about variables and code clarity:</strong>
<UL><li><a href="http://c2.com/cgi/wiki?AssignVariablesOnce">AssignVariablesOnce</a>
<li><a href="http://c2.com/cgi/wiki?LocalVariablesDefinedAndUsedOnOnePage">LocalVariablesDefinedAndUsedOnOnePage</a>
<li><a href="http://c2.com/cgi/wiki?LocalVariablesReassignedAboveTheirUses">LocalVariablesReassignedAboveTheirUses</a>
<li><a href="http://c2.com/cgi/wiki?MeaningfulVariable">MeaningfulVariable</a>
<li><a href="http://c2.com/cgi/wiki?RoleSuggestingVariable">RoleSuggestingVariable</a>
<li><a href="http://c2.com/cgi/wiki?BadVariableNames">BadVariableNames</a> - <em>for how <strong>not</strong> to do it.</em>
<p></UL><strong>Meta Refactoring</strong>
<UL><li><a href="http://c2.com/cgi/wiki?AutomatedRefactoring">AutomatedRefactoring</a>
<p></UL><hr>
<p>Or try one of the following searches ...
<DL><dt> <dd>(...wiki?search=xyz searches all titles for a case insensitive match)
<dt> <dd>(...wiki?fullsearch=xyz searches all titles and page bodies for a case insensitive match)
<p></DL><UL><li> <a href="http://c2.com/cgi/wiki?search=factor">http://c2.com/cgi/wiki?search=factor</a>
<li> <a href="http://c2.com/cgi/wiki?search=OnceAndOnlyOnce">http://c2.com/cgi/wiki?search=OnceAndOnlyOnce</a>
<li> <a href="http://c2.com/cgi/wiki?search=Oaoo">http://c2.com/cgi/wiki?search=Oaoo</a>
<li> <a href="http://c2.com/cgi/wiki?search=method">http://c2.com/cgi/wiki?search=method</a>
<li> <a href="http://c2.com/cgi/wiki?search=comment">http://c2.com/cgi/wiki?search=comment</a>
<li> <a href="http://c2.com/cgi/wiki?search=variable">http://c2.com/cgi/wiki?search=variable</a>
<p></UL><hr>
<p>[<a href="http://c2.com/cgi/wiki?CategoryRefactoring">CategoryRefactoring</a>]
<hr><a href="http://c2.com/cgi/wiki?edit=WikiPagesAboutRefactoring">EditText</a> of this page (last edited March 25, 2001)<br><a href="http://c2.com/cgi/wiki?FindPage&value=WikiPagesAboutRefactoring">FindPage</a> by browsing or searching<p><font color=gray size=-1>This page mirrored in <a href="index.html">ExtremeProgrammingRoadmap</a> as of March 31, 2001</font></body>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -