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

重构:改善既有代码的设计(英文注释版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美]
2008-02
版次: 1
ISBN: 9787115168047
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 469页
字数: 590千字
原版书名: Refactoring: Improving the Design of Existing Code
17人买过
  • 本书清晰地揭示了重构的过程,解释了重构的原理和*实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。

      本书适合软件开发人员、项目管理人员等阅读,也可作为高等院校计算机及相关专业师生的参考读物。 Martin Fowler世界软件开发大师,在面向对象分析设计、UML、模式、XP和重构等领域都有卓越贡献,现为著名软件开发咨询公司ThoughtWorks的首席科学家。他的多部著作《分析模式》、《UML精粹》和《企业应用架构模式》等都已经成为脍灸人口的经典。 Chapter 1:Refactoring,a First Example 重构,第一个例子 

     The Starting Point 起点 

     The First Step in Refactoring 重构第一步 

     Decomposing and Redistributing the Statement Method 分解并重组slalemenl方法 

     Replacing the Conditional Logic on Price Code with Polymorphism 用多态代替价格条件逻辑代码 

     Final Thoughts 结语 

    Chapter 2:Principles in Refactoring 重构原则 

     Defining Refactoring 何谓重构 

     Why Should You Refactor? 为何重构 

     When Should You Refactor? 何时重构 

     What Do I Tell My Manager? 怎样说服经理 

     Problems with Refactoring 重构的问题 

     Refactoring and Design 重构与设计 

     Refactoring and Performance 重构与性能 

     Where Did Refactoring Come From? 重构的起源 

    Chapter 3:Bad Smells in Code(by Kent Beck and Martin Fowler) 代码坏昧 

     Duplicated Code 重复代码 

     Long Method 过长方法 

     Large Class 过长类 

     Long Parameter List 过长参数列表 

     Divergent Change 发散式变化 

     Shotgun Surgery 霰弹式修改 

     Feature Envy 特性依恋 

     Data Clumps 数据泥团 

     Primitive Obsession 基本类型偏执 

     Switch Statements switch语句 

     Parallel Inheritance Hierarchies 平行继承体系 

     Lazy Class 冗余类 

     Speculative Generality 理论上的一般性 

     Temporary Field 临时字段 

     Message Chains 消息链 

     Middle Man 中间人 

     Inappropriate Intimacy 过度亲密 

     Alternative Classes with Different Interfaces 接口不同的等效类  

     Incomplete Library Class 不完整的库类 

     Data Class 数据类 

     Refused Bequest 拒绝继承 

     Comments 注释过多 

    Chapter 4:Building Tests 构建测试 

     The Value of Self-testing Code 自测试代码的重要性 

     The JUnit Testing Framework Junit测试框架 

     Adding More Tests 添加更多测试 

    Chapter 5:Toward a Catalog of Refactorings 重构目录 

     Format of the Refactorings 重构描述的格式 

     Finding References 寻找引用 

     How Mature Are These Refactorings? 这些重构的成熟度如何  

    Chapter 6:Composing Methods 组合方法 

     Extract Method 提取方法 

     Inline Method 内联方法 

     Inline Temp 内联临时变量 

     *Replace Temp with Query 用查询方法代替临时变量 

     Introduce Explaining Variable 引入解释性变量 

     Split Temporary Variable 分离临时变量 

     *Remove Assignments to Parameters 去除参数赋值 

     Replace Method with Method Object 用方法对象代替方法 

     Substitute Algorithm 替换算法 

    Chapter 7:Moving Features Between Objects 在对象之间移动特性 

     *Move Method 移动方法 

     Move Field 移动字段 

     Extract Class 提取类 

     Inline Class 内联类 

     Hide Delegate 隐藏委托类 

     Remove Middle Man 去除中间人 

     Introduce Foreign Method 引入外加方法 

     *Introduce Local Extension 引入本地扩展类 

    Chapter 8:Organizing Data 组织数据 

     Self Encapsulate Field 自封装字段 

     Replace Data Value with Object 用对象代替数据值 

     Change Value to Reference 将值对象改为引用对象 

     Change Reference to Value 将引用对象改为值对象 

     Replace Array with Object 用对象代替数组 

     Duplicate Observed Data 重复被观察数据 

     *Change Unidirectional Associationto Bidirectional 将单向关联改为双向 

     Change Bidirectional Association to Unidirectional 将双向关联改为单向 

     *Replace Magic Number with Symbolic Constant 用字面常量代替魔数 

     Encapsulate Field 封装字段 

     Encapsulate Collection 封装集合 

     Replace Record with Data Class 用数据类代替记录 

     *ReplaceType Code with Class 用类代替类型码 

     Replace Type Code with Subclasses 用子类代替类型码 

     Replace Type Code with State/Strategy用State/Strategy 代替类型码 

     Replace Subclass with Fields 用字段代替子类 

    Chapter 9:Simplifying Conditional Expressions 简化条件语句 

     Decompose Conditional 分解条件语句 

     Consolidate Conditional Expression 合并条件语句 

     Consolidate Duplicate Conditional Fragments 合并重复的条件片段 

     Remove Control Flag 去除控制标志 

     Replace Nested Conditional with Guard Clauses 用守卫语句代替嵌套条件语句 

     Replace Conditional with Polymorphism 用多态代替条件语句  Introduce Null Object 引入Null对象 

     Introduce Assertion 引入断言 

    Chapter 10:Making Method Calls Simpler 简化方法调用 

     Rename Method 重命名方法 

     Add Parameter 添加参数 

     Remove Parameter 去除参数 

     Separate query from Modifier 将查询方法与修改方法分离

     Parameterize Method 参数化方法

     Replace Parameter with Explicit Methods 用显式方法代替参数  

     Preserve Whole Object 保持对象完整

     Replace Parameter with Method 用方法代替参数 

     Introduce Parameter Object 引入参数对象

     Remove Setting Method 去除设置方法 

     Hide Method 隐藏方法 

     Replace Constructor with Factory Method 用工厂方法代替构造器

     Encapsulate Downcast 封装向下转型 

     Replace Error Code with Exception 用异常代替错误码 

     Replace Exception with Test 用测试代替异常

    Chapter 11:Dealing with Generalization 处理泛化关系 

     Pull Up Field 上移字段 

     Pull UP Method 上移方法 

     Pull Up Constructor Body 上移构造器主体 

     Push Down Method 下移方法

     Push Down Field 下移字段 

     Extract Subclass 提取子类 

     Extract Superclass 提取超类

     Extract Interface 提取接口

     Collapse Hierarchy 合并继承层次 

     Form Template Method 形成Template Method 

     Replace Inheritance with Delegation 用委托代替继承 

     Replace Delegation with Inheritance 用继承代替委托5

    Chapter 12:Big Refactorings(by Kent Beck and Martin Fowler) 大型重构 

     Tease Apart Inheritance 分解继承层次 

     Convert Procedural Design to Objects 将过程式设计转换为面向对象 

     Separate Domain from Presentation 将领域逻辑与表现分离

     Extract Hierarchy 提取继承层次

    Chapter 13:Refactoring,Reuse,and Reality(by William Opdyke) 重构,复用与现实

     A Reality Check 现实的检验

     Whv Are Developers Reluctant to Refactor Their Programs? 开发人员为何不愿重构程序

     A Reality Check(Revisited) 再谈现实的检验

     Resources and References for Refactoring 重构的资源和参考文献 

     Implications Regarding Software Reuse and Technology Transfer 对软件复用与技术传播的意义 

     A Final Note 结语 

     References 参考文献 

    Chapter 14:Refactoring Tools(by Don Roberts and John Brant) 重构工具 

     Refactoring with a Tool 使用工具重构

     Technical Criteria for a Refactoring Tool 重构工具的技术标准 

     Practical Criteria for a Refactoring Tool 重构工具的实用标准

     Wrap Up 结语 

    Chapter 15:Putting It All Together(by Kent Beck) 集大成 

    References参考文献 

    List of Soundbites 要点列表

    Updates 更新内容 

    Index 索引
  • 内容简介:
    本书清晰地揭示了重构的过程,解释了重构的原理和*实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。

      本书适合软件开发人员、项目管理人员等阅读,也可作为高等院校计算机及相关专业师生的参考读物。
  • 作者简介:
    Martin Fowler世界软件开发大师,在面向对象分析设计、UML、模式、XP和重构等领域都有卓越贡献,现为著名软件开发咨询公司ThoughtWorks的首席科学家。他的多部著作《分析模式》、《UML精粹》和《企业应用架构模式》等都已经成为脍灸人口的经典。
  • 目录:
    Chapter 1:Refactoring,a First Example 重构,第一个例子 

     The Starting Point 起点 

     The First Step in Refactoring 重构第一步 

     Decomposing and Redistributing the Statement Method 分解并重组slalemenl方法 

     Replacing the Conditional Logic on Price Code with Polymorphism 用多态代替价格条件逻辑代码 

     Final Thoughts 结语 

    Chapter 2:Principles in Refactoring 重构原则 

     Defining Refactoring 何谓重构 

     Why Should You Refactor? 为何重构 

     When Should You Refactor? 何时重构 

     What Do I Tell My Manager? 怎样说服经理 

     Problems with Refactoring 重构的问题 

     Refactoring and Design 重构与设计 

     Refactoring and Performance 重构与性能 

     Where Did Refactoring Come From? 重构的起源 

    Chapter 3:Bad Smells in Code(by Kent Beck and Martin Fowler) 代码坏昧 

     Duplicated Code 重复代码 

     Long Method 过长方法 

     Large Class 过长类 

     Long Parameter List 过长参数列表 

     Divergent Change 发散式变化 

     Shotgun Surgery 霰弹式修改 

     Feature Envy 特性依恋 

     Data Clumps 数据泥团 

     Primitive Obsession 基本类型偏执 

     Switch Statements switch语句 

     Parallel Inheritance Hierarchies 平行继承体系 

     Lazy Class 冗余类 

     Speculative Generality 理论上的一般性 

     Temporary Field 临时字段 

     Message Chains 消息链 

     Middle Man 中间人 

     Inappropriate Intimacy 过度亲密 

     Alternative Classes with Different Interfaces 接口不同的等效类  

     Incomplete Library Class 不完整的库类 

     Data Class 数据类 

     Refused Bequest 拒绝继承 

     Comments 注释过多 

    Chapter 4:Building Tests 构建测试 

     The Value of Self-testing Code 自测试代码的重要性 

     The JUnit Testing Framework Junit测试框架 

     Adding More Tests 添加更多测试 

    Chapter 5:Toward a Catalog of Refactorings 重构目录 

     Format of the Refactorings 重构描述的格式 

     Finding References 寻找引用 

     How Mature Are These Refactorings? 这些重构的成熟度如何  

    Chapter 6:Composing Methods 组合方法 

     Extract Method 提取方法 

     Inline Method 内联方法 

     Inline Temp 内联临时变量 

     *Replace Temp with Query 用查询方法代替临时变量 

     Introduce Explaining Variable 引入解释性变量 

     Split Temporary Variable 分离临时变量 

     *Remove Assignments to Parameters 去除参数赋值 

     Replace Method with Method Object 用方法对象代替方法 

     Substitute Algorithm 替换算法 

    Chapter 7:Moving Features Between Objects 在对象之间移动特性 

     *Move Method 移动方法 

     Move Field 移动字段 

     Extract Class 提取类 

     Inline Class 内联类 

     Hide Delegate 隐藏委托类 

     Remove Middle Man 去除中间人 

     Introduce Foreign Method 引入外加方法 

     *Introduce Local Extension 引入本地扩展类 

    Chapter 8:Organizing Data 组织数据 

     Self Encapsulate Field 自封装字段 

     Replace Data Value with Object 用对象代替数据值 

     Change Value to Reference 将值对象改为引用对象 

     Change Reference to Value 将引用对象改为值对象 

     Replace Array with Object 用对象代替数组 

     Duplicate Observed Data 重复被观察数据 

     *Change Unidirectional Associationto Bidirectional 将单向关联改为双向 

     Change Bidirectional Association to Unidirectional 将双向关联改为单向 

     *Replace Magic Number with Symbolic Constant 用字面常量代替魔数 

     Encapsulate Field 封装字段 

     Encapsulate Collection 封装集合 

     Replace Record with Data Class 用数据类代替记录 

     *ReplaceType Code with Class 用类代替类型码 

     Replace Type Code with Subclasses 用子类代替类型码 

     Replace Type Code with State/Strategy用State/Strategy 代替类型码 

     Replace Subclass with Fields 用字段代替子类 

    Chapter 9:Simplifying Conditional Expressions 简化条件语句 

     Decompose Conditional 分解条件语句 

     Consolidate Conditional Expression 合并条件语句 

     Consolidate Duplicate Conditional Fragments 合并重复的条件片段 

     Remove Control Flag 去除控制标志 

     Replace Nested Conditional with Guard Clauses 用守卫语句代替嵌套条件语句 

     Replace Conditional with Polymorphism 用多态代替条件语句  Introduce Null Object 引入Null对象 

     Introduce Assertion 引入断言 

    Chapter 10:Making Method Calls Simpler 简化方法调用 

     Rename Method 重命名方法 

     Add Parameter 添加参数 

     Remove Parameter 去除参数 

     Separate query from Modifier 将查询方法与修改方法分离

     Parameterize Method 参数化方法

     Replace Parameter with Explicit Methods 用显式方法代替参数  

     Preserve Whole Object 保持对象完整

     Replace Parameter with Method 用方法代替参数 

     Introduce Parameter Object 引入参数对象

     Remove Setting Method 去除设置方法 

     Hide Method 隐藏方法 

     Replace Constructor with Factory Method 用工厂方法代替构造器

     Encapsulate Downcast 封装向下转型 

     Replace Error Code with Exception 用异常代替错误码 

     Replace Exception with Test 用测试代替异常

    Chapter 11:Dealing with Generalization 处理泛化关系 

     Pull Up Field 上移字段 

     Pull UP Method 上移方法 

     Pull Up Constructor Body 上移构造器主体 

     Push Down Method 下移方法

     Push Down Field 下移字段 

     Extract Subclass 提取子类 

     Extract Superclass 提取超类

     Extract Interface 提取接口

     Collapse Hierarchy 合并继承层次 

     Form Template Method 形成Template Method 

     Replace Inheritance with Delegation 用委托代替继承 

     Replace Delegation with Inheritance 用继承代替委托5

    Chapter 12:Big Refactorings(by Kent Beck and Martin Fowler) 大型重构 

     Tease Apart Inheritance 分解继承层次 

     Convert Procedural Design to Objects 将过程式设计转换为面向对象 

     Separate Domain from Presentation 将领域逻辑与表现分离

     Extract Hierarchy 提取继承层次

    Chapter 13:Refactoring,Reuse,and Reality(by William Opdyke) 重构,复用与现实

     A Reality Check 现实的检验

     Whv Are Developers Reluctant to Refactor Their Programs? 开发人员为何不愿重构程序

     A Reality Check(Revisited) 再谈现实的检验

     Resources and References for Refactoring 重构的资源和参考文献 

     Implications Regarding Software Reuse and Technology Transfer 对软件复用与技术传播的意义 

     A Final Note 结语 

     References 参考文献 

    Chapter 14:Refactoring Tools(by Don Roberts and John Brant) 重构工具 

     Refactoring with a Tool 使用工具重构

     Technical Criteria for a Refactoring Tool 重构工具的技术标准 

     Practical Criteria for a Refactoring Tool 重构工具的实用标准

     Wrap Up 结语 

    Chapter 15:Putting It All Together(by Kent Beck) 集大成 

    References参考文献 

    List of Soundbites 要点列表

    Updates 更新内容 

    Index 索引
查看详情
您可能感兴趣 / 更多
重构:改善既有代码的设计(英文注释版)
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
重构:改善既有代码的设计(英文注释版)
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
重构:改善既有代码的设计(英文注释版)
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
重构:改善既有代码的设计(英文注释版)
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
重构:改善既有代码的设计(英文注释版)
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
重构:改善既有代码的设计(英文注释版)
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
重构:改善既有代码的设计(英文注释版)
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
重构:改善既有代码的设计(英文注释版)
意大利文艺复兴新艺术史
[美]迈克尔·韦恩·科尔 著;[美]斯蒂芬·J·坎贝尔;邵亦杨
重构:改善既有代码的设计(英文注释版)
汤姆素亚历险记:中小学生课外阅读快乐读书吧 儿童文学无障碍有声伴读世界名著童话故事
[美]马克·吐温
重构:改善既有代码的设计(英文注释版)
老人与海 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]海明威
重构:改善既有代码的设计(英文注释版)
养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈
[美]凯文·莱曼 著;唐晓璐 译;斯坦威 出品
重构:改善既有代码的设计(英文注释版)
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译