重构:英文版

重构:英文版
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美]
2010-11
版次: 1
ISBN: 9787115239143
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 431页
字数: 524千字
27人买过
  • 《重构:改善既有代码的设计(英文版)》清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。《重构:改善既有代码的设计(英文版)》提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。 MartinFowler是一位独立咨询顾问,他运用对象技术解决企业问题已经超过十年。他的顾问领域包括健康管理、金融贸易,以及法人财务。他的客户包括Chrysler,Citibank,UKNationalHealthService,AndersenConsulting,NetscapeCommunications。此外Fowler也是objects、UML、patterns技术的一位合格讲师,他是《AnalysisPatterns》和《UMLDistilled》的作者。 Chapter1:Refactoring,aFirstExample1
    TheStartingPoint1
    TheFirstStepinRefactoring7
    DecomposingandRedistributingtheStatementMethod8
    ReplacingtheConditionalLogiconPriceCodewithPolymorphism34
    FinalThoughts52

    Chapter2:PrinciplesinRefactoring53
    DefiningRefactoring53
    WhyShouldYouRefactor55
    WhenShouldYouRefactor57
    WhatDoITellMyManager60
    ProblemswithRefactoring62
    RefactoringandDesign66
    RefactoringandPerformance69
    WhereDidRefactoringComeFrom71

    Chapter3:BadSmellsinCode(byKentBeckandMartinFowler)75
    DuplicatedCode76
    LongMethod76
    LargeClass78
    LongParameterList78
    DivergentChange79
    ShotgunSurgery80
    FeatureEnvy80
    DataClumps81
    PrimitiveObsession81
    SwitchStatements82
    ParallelInheritanceHierarchies83
    LazyClass83
    SpeculativeGenerality83
    TemporaryField84
    MessageChains84
    MiddleMan85
    InappropriateIntimacy85
    AlternativeClasseswithDifferentInterfaces85
    IncompleteLibraryClass86
    DataClass86
    RefusedBequest87
    Comments87

    Chapter4:BuildingTests89
    TheValueofSelf-testingCode89
    TheJUnitTestingFramework91
    AddingMoreTests97

    Chapter5:TowardaCatalogofRefactorings103
    FormatoftheRefactorings103
    FindingReferences105
    HowMatureAreTheseRefactorings106

    Chapter6:ComposingMethods109
    ExtractMethod110
    InlineMethod117
    InlineTemp119
    ReplaceTempwithQuery120
    IntroduceExplainingVariable124
    SplitTemporaryVariable128
    RemoveAssignmentstoParameters131
    ReplaceMethodwithMethodObject135
    SubstituteAlgorithm139

    Chapter7:MovingFeaturesBetweenObjects141
    MoveMethod142
    MoveField146
    ExtractClass149
    InlineClass154
    HideDelegate157
    RemoveMiddleMan160
    IntroduceForeignMethod162
    IntroduceLocalExtension164

    Chapter8:OrganizingData169
    SelfEncapsulateField171
    ReplaceDataValuewithObject175
    ChangeValuetoReference179
    ChangeReferencetoValue183
    ReplaceArraywithObject186
    DuplicateObservedData189
    ChangeUnidirectionalAssociationtoBidirectional197
    ChangeBidirectionalAssociationtoUnidirectional200
    ReplaceMagicNumberwithSymbolicConstant204
    EncapsulateField206
    EncapsulateCollection208
    ReplaceRecordwithDataClass217
    ReplaceTypeCodewithClass218
    ReplaceTypeCodewithSubclasses223
    ReplaceTypeCodewithState/Strategy227
    ReplaceSubclasswithFields232

    Chapter9:SimplifyingConditionalExpressions237
    DecomposeConditional238
    ConsolidateConditionalExpression240
    ConsolidateDuplicateConditionalFragments243
    RemoveControlFlag245
    ReplaceNestedConditionalwithGuardClauses250
    ReplaceConditionalwithPolymorphism255
    IntroduceNullObject260
    IntroduceAssertion267

    Chapter10:MakingMethodCallsSimpler271
    RenameMethod273
    AddParameter275
    RemoveParameter277
    SeparateQueryfromModifier279
    ParameterizeMethod283
    ReplaceParameterwithExplicitMethods285
    PreserveWholeObject288
    ReplaceParameterwithMethod292
    IntroduceParameterObject295
    RemoveSettingMethod300
    HideMethod303
    ReplaceConstructorwithFactoryMethod304
    EncapsulateDowncast308
    ReplaceErrorCodewithException310
    ReplaceExceptionwithTest315

    Chapter11:DealingwithGeneralization319
    PullUpField320
    PullUpMethod322
    PullUpConstructorBody325
    PushDownMethod328
    PushDownField329
    ExtractSubclass330
    ExtractSuperclass336
    ExtractInterface341
    CollapseHierarchy344
    FormTemplateMethod345
    ReplaceInheritancewithDelegation352
    ReplaceDelegationwithInheritance355

    Chapter12:BigRefactorings(byKentBeckandMartinFowler)359
    TeaseApartInheritance362
    ConvertProceduralDesigntoObjects368
    SeparateDomainfromPresentation370
    ExtractHierarchy375

    Chapter13:Refactoring,Reuse,andReality(byWilliamOpdyke)379
    ARealityCheck380
    WhyAreDevelopersReluctanttoRefactorTheirPrograms381
    ARealityCheck(Revisited)394
    ResourcesandReferencesforRefactoring394
    ImplicationsRegardingSoftwareReuseandTechnologyTransfer395
    AFinalNote397
    References397

    Chapter14:RefactoringTools(byDonRobertsandJohnBrant)401
    RefactoringwithaTool401
    TechnicalCriteriaforaRefactoringTool403
    PracticalCriteriaforaRefactoringTool405
    WrapUp407
    Chapter15:PuttingItAllTogether(byKentBeck)409
    References413
    ListofSoundbites417
    Index419
  • 内容简介:
    《重构:改善既有代码的设计(英文版)》清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。《重构:改善既有代码的设计(英文版)》提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。
  • 作者简介:
    MartinFowler是一位独立咨询顾问,他运用对象技术解决企业问题已经超过十年。他的顾问领域包括健康管理、金融贸易,以及法人财务。他的客户包括Chrysler,Citibank,UKNationalHealthService,AndersenConsulting,NetscapeCommunications。此外Fowler也是objects、UML、patterns技术的一位合格讲师,他是《AnalysisPatterns》和《UMLDistilled》的作者。
  • 目录:
    Chapter1:Refactoring,aFirstExample1
    TheStartingPoint1
    TheFirstStepinRefactoring7
    DecomposingandRedistributingtheStatementMethod8
    ReplacingtheConditionalLogiconPriceCodewithPolymorphism34
    FinalThoughts52

    Chapter2:PrinciplesinRefactoring53
    DefiningRefactoring53
    WhyShouldYouRefactor55
    WhenShouldYouRefactor57
    WhatDoITellMyManager60
    ProblemswithRefactoring62
    RefactoringandDesign66
    RefactoringandPerformance69
    WhereDidRefactoringComeFrom71

    Chapter3:BadSmellsinCode(byKentBeckandMartinFowler)75
    DuplicatedCode76
    LongMethod76
    LargeClass78
    LongParameterList78
    DivergentChange79
    ShotgunSurgery80
    FeatureEnvy80
    DataClumps81
    PrimitiveObsession81
    SwitchStatements82
    ParallelInheritanceHierarchies83
    LazyClass83
    SpeculativeGenerality83
    TemporaryField84
    MessageChains84
    MiddleMan85
    InappropriateIntimacy85
    AlternativeClasseswithDifferentInterfaces85
    IncompleteLibraryClass86
    DataClass86
    RefusedBequest87
    Comments87

    Chapter4:BuildingTests89
    TheValueofSelf-testingCode89
    TheJUnitTestingFramework91
    AddingMoreTests97

    Chapter5:TowardaCatalogofRefactorings103
    FormatoftheRefactorings103
    FindingReferences105
    HowMatureAreTheseRefactorings106

    Chapter6:ComposingMethods109
    ExtractMethod110
    InlineMethod117
    InlineTemp119
    ReplaceTempwithQuery120
    IntroduceExplainingVariable124
    SplitTemporaryVariable128
    RemoveAssignmentstoParameters131
    ReplaceMethodwithMethodObject135
    SubstituteAlgorithm139

    Chapter7:MovingFeaturesBetweenObjects141
    MoveMethod142
    MoveField146
    ExtractClass149
    InlineClass154
    HideDelegate157
    RemoveMiddleMan160
    IntroduceForeignMethod162
    IntroduceLocalExtension164

    Chapter8:OrganizingData169
    SelfEncapsulateField171
    ReplaceDataValuewithObject175
    ChangeValuetoReference179
    ChangeReferencetoValue183
    ReplaceArraywithObject186
    DuplicateObservedData189
    ChangeUnidirectionalAssociationtoBidirectional197
    ChangeBidirectionalAssociationtoUnidirectional200
    ReplaceMagicNumberwithSymbolicConstant204
    EncapsulateField206
    EncapsulateCollection208
    ReplaceRecordwithDataClass217
    ReplaceTypeCodewithClass218
    ReplaceTypeCodewithSubclasses223
    ReplaceTypeCodewithState/Strategy227
    ReplaceSubclasswithFields232

    Chapter9:SimplifyingConditionalExpressions237
    DecomposeConditional238
    ConsolidateConditionalExpression240
    ConsolidateDuplicateConditionalFragments243
    RemoveControlFlag245
    ReplaceNestedConditionalwithGuardClauses250
    ReplaceConditionalwithPolymorphism255
    IntroduceNullObject260
    IntroduceAssertion267

    Chapter10:MakingMethodCallsSimpler271
    RenameMethod273
    AddParameter275
    RemoveParameter277
    SeparateQueryfromModifier279
    ParameterizeMethod283
    ReplaceParameterwithExplicitMethods285
    PreserveWholeObject288
    ReplaceParameterwithMethod292
    IntroduceParameterObject295
    RemoveSettingMethod300
    HideMethod303
    ReplaceConstructorwithFactoryMethod304
    EncapsulateDowncast308
    ReplaceErrorCodewithException310
    ReplaceExceptionwithTest315

    Chapter11:DealingwithGeneralization319
    PullUpField320
    PullUpMethod322
    PullUpConstructorBody325
    PushDownMethod328
    PushDownField329
    ExtractSubclass330
    ExtractSuperclass336
    ExtractInterface341
    CollapseHierarchy344
    FormTemplateMethod345
    ReplaceInheritancewithDelegation352
    ReplaceDelegationwithInheritance355

    Chapter12:BigRefactorings(byKentBeckandMartinFowler)359
    TeaseApartInheritance362
    ConvertProceduralDesigntoObjects368
    SeparateDomainfromPresentation370
    ExtractHierarchy375

    Chapter13:Refactoring,Reuse,andReality(byWilliamOpdyke)379
    ARealityCheck380
    WhyAreDevelopersReluctanttoRefactorTheirPrograms381
    ARealityCheck(Revisited)394
    ResourcesandReferencesforRefactoring394
    ImplicationsRegardingSoftwareReuseandTechnologyTransfer395
    AFinalNote397
    References397

    Chapter14:RefactoringTools(byDonRobertsandJohnBrant)401
    RefactoringwithaTool401
    TechnicalCriteriaforaRefactoringTool403
    PracticalCriteriaforaRefactoringTool405
    WrapUp407
    Chapter15:PuttingItAllTogether(byKentBeck)409
    References413
    ListofSoundbites417
    Index419
查看详情
您可能感兴趣 / 更多
重构:英文版
无辜者的谎言(相信我!看到结局你一定会头皮发麻;全美读者推荐的悬疑神作,GOODREADS高分作品)
[美]A.R.托雷 著;梁颂宇 译;星文文化 出品
重构:英文版
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
重构:英文版
哲学、历史与僭政——重审施特劳斯与科耶夫之争
[美]弗罗斯特(Bryan-Paul Frost) 编;[美]伯恩斯(Timothy W. Burns)
重构:英文版
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
重构:英文版
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
重构:英文版
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
重构:英文版
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
重构:英文版
最后一章
[美]厄尼·派尔
重构:英文版
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
重构:英文版
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译
重构:英文版
分析模式
[美]福勒 著
重构:英文版
分析模式:可复用对象模型
[美]福勒 著