返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • [正版]重构 改善既有代码的设计 2二版平装版阐述重构原理和具体做法 软件工程代码整洁之道计算机程序设计经典教程书籍
  • 本店商品限购一件,多拍不发货,谢谢合作
    • 作者: 张幸儿著
    • 出版社: 科学出版社
    • 出版时间:1
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    如梦图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品参数
    • 作者: 张幸儿著
    • 出版社:科学出版社
    • 出版时间:1
    • 开本:16
    • 装帧:平装
    • ISBN:9787944295007
    • 版权提供:科学出版社

                                                        店铺公告

    为保障消费者合理购买需求及公平交易机会,避免因非生活消费目的的购买货囤积商品,抬价转售等违法行为发生,店铺有权对异常订单不发货且不进行赔付。异常订单:包括但不限于相同用户ID批量下单,同一用户(指不同用户ID,存在相同/临近/虚构收货地址,或相同联系号码,收件人,同账户付款人等情形的)批量下单(一次性大于5本),以及其他非消费目的的交易订单。 温馨提示:请务必当着快递员面开箱验货,如发现破损,请立即拍照拒收,如验货有问题请及时联系在线客服处理,(如开箱验货时发现破损,所产生运费由我司承担,一经签收即为货物完好,如果您未开箱验货,一切损失就需要由买家承担,所以请买家一定要仔细验货), 关于退货运费:对于下单后且物流已发货货品在途的状态下,原则上均不接受退货申请,如顾客原因退货需要承担来回运费,如因产品质量问题(非破损问题)可在签收后,联系在线客服。


    商品参数

     

    暂时没有内容介绍,请见谅!
    目录

    第 1 章 重构,第 一个示例 1


    1.1 起点 1

    1.2 对此起始程序的评价 3

    1.3 重构的第 一步 5

    1.4 分解statement 函数 6

    1.5 进展:大量嵌套函数 22

    1.6 拆分计算阶段与格式化阶段 24

    1.7 进展:分离到两个文件(和两个阶段) 31

    1.8 按类型重组计算过程 34

    1.9 进展:使用多态计算器来提供数据 41

    1.10 结语 43

    第 2 章 重构的原则 45

    2.1 何谓重构 45

    2.2 两顶帽子 46

    2.3 为何重构 47

    2.4 何时重构 50

    2.5 重构的挑战 55

    2.6 重构、架构和YAGNI 62

    2.7 重构与软件开发过程 63

    2.8 重构与性能 64

    2.9 重构起源何处 67

    2.10 自动化重构 68

    2.11 延展阅读 70

    第3 章 代码的坏味道 71

    3.1 神秘命名(Mysterious Name) 72

    3.2 重复代码(Duplicated Code) 72

    3.3 过长函数(Long Function) 73

    3.4 过长参数列表(Long Parameter List) 74

    3.5 全局数据(Global Data) 74

    3.6 可变数据(Mutable Data) 75

    3.7 发散式变化(Divergent Change) 76

    3.8 霰弹式修改(Shotgun Surgery) 76

    3.9 依恋情结(Feature Envy) 77

    3.10 数据泥团(Data Clumps) 78

    3.11 基本类型偏执(Primitive Obsession) 78

    3.12 重复的switch(Repeated Switches) 79

    3.13 循环语句(Loops) 79

    3.14 冗赘的元素(Lazy Element) 80

    3.15 夸夸其谈通用性(Speculative Generality) 80

    3.16 临时字段(Temporary Field) 80

    3.17 过长的消息链(Message Chains) 81

    3.18 中间人(Middle Man) 81

    3.19 内幕交易(Insider Trading) 82

    3.20 过大的类(Large Class) 82

    3.21 异曲同工的类(Alternative Classes with Different Interfaces) 83

    3.22 纯数据类(Data Class) 83

    3.23 被拒绝的遗赠(Refused Bequest) 83

    3.24 注释(Comments) 84

    第4 章 构筑测试体系 85

    4.1 自测试代码的价值 85

    4.2 待测试的示例代码 87

    4.3 第 一个测试 90

    4.4 再添加一个测试 93

    4.5 修改测试夹具 95

    4.6 探测边界条件 96

    4.7 测试远不止如此 99

    第5 章 介绍重构名录 101

    5.1 重构的记录格式 101

    5.2 挑选重构的依据 102

    第6 章 第 一组重构 105

    6.1 提炼函数(Extract Function) 106

    6.2 内联函数(Inline Function) 115

    6.3 提炼变量(Extract Variable) 119

    6.4 内联变量(Inline Variable) 123

    6.5 改变函数声明(Change Function Declaration) 124

    6.6 封装变量(Encapsulate Variable) 132

    6.7 变量改名(Rename Variable) 137

    6.8 引入参数对象(Introduce Parameter Object) 140

    6.9 函数组合成类(Combine Functions into Class) 144

    6.10 函数组合成变换(Combine Functions into Transform) 149

    6.11 拆分阶段(Split Phase) 154

    第7 章 封装 161

    7.1 封装记录(Encapsulate Record) 162

    7.2 封装集合(Encapsulate Collection) 170

    7.3 以对象取代基本类型(Replace Primitive with Object) 174

    7.4 以查询取代临时变量(Replace Temp with Query) 178

    7.5 提炼类(Extract Class) 182

    7.6 内联类(Inline Class) 186

    7.7 隐藏委托关系(Hide Delegate) 189

    7.8 移除中间人(Remove Middle Man) 192

    7.9 替换算法(Substitute Algorithm) 195

    第8 章 搬移特性 197

    8.1 搬移函数(Move Function) 198

    8.2 搬移字段(Move Field) 207

    8.3 搬移语句到函数(Move Statements into Function) 213

    8.4 搬移语句到调用者(Move Statements to Callers) 217

    8.5 以函数调用取代内联代码(Replace Inline Code with Function Call) 222

    8.6 移动语句(Slide Statements) 223

    8.7 拆分循环(Split Loop) 227

    8.8 以管道取代循环(Replace Loop with Pipeline) 231

    8.9 移除死代码(Remove Dead Code) 237

    第9 章 重新组织数据 239

    9.1 拆分变量(Split Variable) 240

    9.2 字段改名(Rename Field) 244

    9.3 以查询取代派生变量(Replace Derived Variable with Query) 248

    9.4 将引用对象改为值对象(Change Reference to Value) 252

    9.5 将值对象改为引用对象(Change Value to Reference) 256

    第 10 章 简化条件逻辑 259

    10.1 分解条件表达式(Decompose Conditional) 260

    10.2 合并条件表达式(Consolidate Conditional Expression) 263

    10.3 以卫语句取代嵌套条件表达式(Replace Nested Conditional with Guard Clauses) 266

    10.4 以多态取代条件表达式(Replace Conditional with Polymorphism) 272

    10.5 引入特例(Introduce Special Case) 289

    10.6 引入断言(Introduce Assertion) 302

    第 11 章 重构API 305

    11.1 将查询函数和修改函数分离(Separate Query from Modifier) 306

    11.2 函数参数化(Parameterize Function) 310

    11.3 移除标记参数(Remove Flag Argument) 314

    11.4 保持对象完整(Preserve Whole Object) 319

    11.5 以查询取代参数(Replace Parameter with Query) 324

    11.6 以参数取代查询(Replace Query with Parameter) 327

    11.7 移除设值函数(Remove Setting Method) 331

    11.8 以工厂函数取代构造函数(Replace Constructor with Factory Function) 334

    11.9 以命令取代函数(Replace Function with Command) 337

    11.10 以函数取代命令(Replace Command with Function) 344

    第 12 章 处理继承关系 349

    12.1 函数上移(Pull Up Method) 350

    12.2 字段上移(Pull Up Field) 353

    12.3 构造函数本体上移(Pull Up Constructor Body) 355

    12.4 函数下移(Push Down Method) 359

    12.5 字段下移(Push Down Field) 361

    12.6 以子类取代类型码(Replace Type Code with Subclasses) 362

    12.7 移除子类(Remove Subclass) 369

    12.8 提炼超类(Extract Superclass) 375

    12.9 折叠继承体系(Collapse Hierarchy) 380

    12.10 以委托取代子类(Replace Subclass with Delegate) 381

    12.11 以委托取代超类(Replace Superclass with Delegate) 399

    参考文献 405

    索引 409

     

    1
    • 商品详情
    • 内容简介

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购