请输入您要查询的百科知识:

 

词条 重构改善既有代码的设计(英文注释版)
释义

本书清晰地揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。本书适合软件开发人员、项目管理人员等阅读,也可作为高等院校计算机及相关专业师生的参考读物。

书名:重构改善既有代码的设计(英文注释版)

作者:(美)福勒

定价:¥69.00元

出版社:人民邮电出版社

出版时间:2008-2-1

开本:16

编辑推荐

软件开发的不朽经典,生动阐述重构原理和具体做法,新添大量重构方法,使你与时供进,丰富的词汇和背景注释,助你轻松读经典。

重构,一言以蔽之,就是在不改变外都行为的前提下,有条不紊地改善代码。多年来,正是本书原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。而本书也因此成为与《设计模式》齐名的经典著作,被译为中、德、俄、日等众多语言,在世界范围内畅销不衰。

今天,无论是重构本身,业界对重构的理解,还是开发工具对重构的支持力度,都与本书最初出版时不可同日而语。英文注释版根据原作者MartinFowler维护的本书网站,对原书进行了扩充,加入了大量新增重构,使这部不朽经典历久弥新。

作者简介

MartinFowler世界软件开发大师,在面向对象分析设计、UML、模式、XP和重构等领域都有卓越贡献,现为著名软件开发咨询公司ThoughtWorks的首席科学家。他的多部著作《分析模式》、《UML精粹》和《企业应用架构模式》等都已经成为脍炙人口的经典。

目录

Chapter1:Refactoring,aFirstExample重构,第一个例子

TheStartingPoint起点

TheFirstStepinRefactoring重构第一步

DecomposingandRedistributingtheStatementMethod分解并重组slalemenl方法

ReplacingtheConditionalLogiconPriceCodewithPolymorphism用多态代替价格条件逻辑代码

FinalThoughts结语

Chapter2:PrinciplesinRefactoring重构原则

DefiningRefactoring何谓重构

WhyShouldYouRefactor?为何重构

WhenShouldYouRefactor?何时重构

WhatDoITellMyManager?怎样说服经理

ProblemswithRefactoring重构的问题

RefactoringandDesign重构与设计

RefactoringandPerformance重构与性能

WhereDidRefactoringComeFrom?重构的起源

Chapter3:BadSmellsinCode(byKentBeckandMartinFowler)代码坏昧

DuplicatedCode重复代码

LongMethod过长方法

LargeClass过长类

LongParameterList过长参数列表

DivergentChange发散式变化

ShotgunSurgery霰弹式修改

FeatureEnvy特性依恋

DataClumps数据泥团

PrimitiveObsession基本类型偏执

SwitchStatementsswitch语句

ParallelInheritanceHierarchies平行继承体系

LazyClass冗余类

SpeculativeGenerality理论上的一般性

TemporaryField临时字段

MessageChains消息链

MiddleMan中间人

InappropriateIntimacy过度亲密

AlternativeClasseswithDifferentInterfaces接口不同的等效类

IncompleteLibraryClass不完整的库类

DataClass数据类

RefusedBequest拒绝继承

Comments注释过多

Chapter4:BuildingTests构建测试

TheValueofSelf-testingCode自测试代码的重要性

TheJUnitTestingFrameworkJunit测试框架

AddingMoreTests添加更多测试

Chapter5:TowardaCatalogofRefactorings重构目录

FormatoftheRefactorings重构描述的格式

FindingReferences寻找引用

HowMatureAreTheseRefactorings?这些重构的成熟度如何

Chapter6:ComposingMethods组合方法

ExtractMethod提取方法

InlineMethod内联方法

InlineTemp内联临时变量

*ReplaceTempwithQuery用查询方法代替临时变量

IntroduceExplainingVariable引入解释性变量

SplitTemporaryVariable分离临时变量

*RemoveAssignmentstoParameters去除参数赋值

ReplaceMethodwithMethodObject用方法对象代替方法

SubstituteAlgorithm替换算法

Chapter7:MovingFeaturesBetweenObjects在对象之间移动特性

*MoveMethod移动方法

MoveField移动字段

ExtractClass提取类

InlineClass内联类

HideDelegate隐藏委托类

RemoveMiddleMan去除中间人

IntroduceForeignMethod引入外加方法

*IntroduceLocalExtension引入本地扩展类

Chapter8:OrganizingData组织数据

SelfEncapsulateField自封装字段

ReplaceDataValuewithObject用对象代替数据值

ChangeValuetoReference将值对象改为引用对象

ChangeReferencetoValue将引用对象改为值对象

ReplaceArraywithObject用对象代替数组

DuplicateObservedData重复被观察数据

*ChangeUnidirectionalAssociationtoBidirectional将单向关联改为双向

ChangeBidirectionalAssociationtoUnidirectional将双向关联改为单向

*ReplaceMagicNumberwithSymbolicConstant用字面常量代替魔数

EncapsulateField封装字段

EncapsulateCollection封装集合

ReplaceRecordwithDataClass用数据类代替记录

*ReplaceTypeCodewithClass用类代替类型码

ReplaceTypeCodewithSubclasses用子类代替类型码

ReplaceTypeCodewithState/Strategy用State/Strategy代替类型码

ReplaceSubclasswithFields用字段代替子类

Chapter9:SimplifyingConditionalExpressions简化条件语句

DecomposeConditional分解条件语句

ConsolidateConditionalExpression合并条件语句

ConsolidateDuplicateConditionalFragments合并重复的条件片段

RemoveControlFlag去除控制标志

ReplaceNestedConditionalwithGuardClauses用守卫语句代替嵌套条件语句

ReplaceConditionalwithPolymorphism用多态代替条件语句 IntroduceNullObject引入Null对象

IntroduceAssertion引入断言

Chapter10:MakingMethodCallsSimpler简化方法调用

RenameMethod重命名方法

AddParameter添加参数

RemoveParameter去除参数

SeparatequeryfromModifier将查询方法与修改方法分离

ParameterizeMethod参数化方法

ReplaceParameterwithExplicitMethods用显式方法代替参数

PreserveWholeObject保持对象完整

ReplaceParameterwithMethod用方法代替参数

IntroduceParameterObject引入参数对象

RemoveSettingMethod去除设置方法

HideMethod隐藏方法

ReplaceConstructorwithFactoryMethod用工厂方法代替构造器

EncapsulateDowncast封装向下转型

ReplaceErrorCodewithException用异常代替错误码

ReplaceExceptionwithTest用测试代替异常

Chapter11:DealingwithGeneralization处理泛化关系

PullUpField上移字段

PullUPMethod上移方法

PullUpConstructorBody上移构造器主体

PushDownMethod下移方法

PushDownField下移字段

ExtractSubclass提取子类

ExtractSuperclass提取超类

ExtractInterface提取接口

CollapseHierarchy合并继承层次

FormTemplateMethod形成TemplateMethod

ReplaceInheritancewithDelegation用委托代替继承

ReplaceDelegationwithInheritance用继承代替委托5

Chapter12:BigRefactorings(byKentBeckandMartinFowler)大型重构

TeaseApartInheritance分解继承层次

ConvertProceduralDesigntoObjects将过程式设计转换为面向对象

SeparateDomainfromPresentation将领域逻辑与表现分离

ExtractHierarchy提取继承层次

Chapter13:Refactoring,Reuse,andReality(byWilliamOpdyke)重构,复用与现实

ARealityCheck现实的检验

WhvAreDevelopersReluctanttoRefactorTheirPrograms?开发人员为何不愿重构程序

ARealityCheck(Revisited)再谈现实的检验

ResourcesandReferencesforRefactoring重构的资源和参考文献

ImplicationsRegardingSoftwareReuseandTechnologyTransfer对软件复用与技术传播的意义

AFinalNote结语

References参考文献

Chapter14:RefactoringTools(byDonRobertsandJohnBrant)重构工具

RefactoringwithaTool使用工具重构

TechnicalCriteriaforaRefactoringTool重构工具的技术标准

PracticalCriteriaforaRefactoringTool重构工具的实用标准

WrapUp结语

Chapter15:PuttingItAllTogether(byKentBeck)集大成

References参考文献

ListofSoundbites要点列表

Updates更新内容

Index索引

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/2 2:44:51