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

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

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

  • 整洁代码经典实例 (阿根廷)马克西米利亚诺·孔蒂耶里 著 黄俊彬 译 数学专业科技 正版图书籍 中国电力出版社
  • 新商品上架
    • 作者: (阿根廷)马克西米利亚诺·孔蒂耶里著 | | 黄俊彬译
    • 出版社: 中国电力出版社
    • 出版时间:2024-10
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    句字图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: (阿根廷)马克西米利亚诺·孔蒂耶里著| 黄俊彬译
    • 出版社:中国电力出版社
    • 出版时间:2024-10
    • 开本:16开
    • ISBN:9787519892401
    • 版权提供:中国电力出版社
    ]]> 1

    整洁代码经典实例

    作  者:(阿根廷)马克西米利亚诺·孔蒂耶里 著 黄俊彬 译
    定  价:148
    出 版 社:中国电力出版社
    出版日期:2024年09月01日
    页  数:480
    装  帧:平装
    ISBN:9787519892401
    ]]> 2
    序 1
    前言 3
    第1章 整洁代码 9
    1.1 什么是代码坏味道? 9
    1.2 重构是什么? 10
    1.3 什么是经典实例? 10
    1.4 为什么要写整洁的代码? 11
    1.5 可读性、性能,或者两者兼而有之 11
    1.6 软件类型 11
    1.7 机器生成的代码 12
    1.8 本书中的命名考虑 12
    1.9 设计模式13
    1.10 编程语言范式 13
    1.11 对象与类的比较 13
    1.12 可变性 14
    第2章 建立原则 15
    2.0 引言 15
    2.1 为什么它是一个模型? 16
    2.2 为什么它是抽象的? 16
    2.3 为什么它是可编程的? 16
    2.4 为什么它是部分的? 17
    2.5 为什么它是解释性的? 17
    2.6 为什么它与现实有关? 18
    2.7 推断规则18
    2.8 专享的软件设计原则 18
    第3章 贫血模型 25
    3.0 引言 25
    3.1 将贫血对象转换为丰富对象 26
    3.2 识别你的对象的本质 28
    3.3 移除对象中的setter 30
    3.4 移除贫血代码生成器 32
    3.5 移除自动属性 34
    3.6 移除DTO 35
    3.7 完善空构造函数 39
    3.8 移除getter 40
    3.9 防止对象随意调用 44
    3.10 移除动态属性 45
    第4章 原始偏执 49
    4.0 引言 49
    4.1 创建小对象 50
    4.2 实例化原始数据 52
    4.3 实例化关联数组 53
    4.4 移除滥用字符串 55
    4.5 实例化时间戳 57
    4.6 实例化子集为对象 58
    4.7 实例化字符串验证 59
    4.8 移除不必要的属性 62
    4.9 创建日期区间 64
    第5章 可变性 67
    5.0 引言 67
    5.1 将变量改为常量 69
    5.2 声明变量为可变变量 70
    5.3 禁止改变本质 72
    5.4 避免可变的常量数组 74
    5.5 移除延迟初始化 76
    5.6 冻结可变常量 78
    5.7 移除副作用 81
    5.8 防止提升82
    第6章 声明式代码 85
    6.0 引言 85
    6.1 缩小重用变量的范围 86
    6.2 移除空行87
    6.3 移除带版本的方法 89
    6.4 移除双重否定 90
    6.5 改变错位的责任 91
    6.6 替换显式迭代 93
    6.7 记录设计决策 94
    6.8 用常量替换魔法数字 95
    6.9 分离“是什么”和“怎么做” 97
    6.10 文档化正则表达式 98
    6.11 重写Yoda 条件 99
    6.12 移除滑稽方法 100
    6.13 避免回调地狱 101
    6.14 生成良好的错误消息 104
    6.15 避免魔法修正 106
    第7章 命名 109
    7.0 引言 109
    7.1 扩展缩写.109
    7.2 重命名和拆分Helpers 和Utils 112
    7.3 重命名MyObjects 115
    7.4 重命名结果变量 116
    7.5 重命名以类型命名的变量 118
    7.6 重命名长名称 119
    7.7 重命名抽象名称 120
    7.8 更正拼写错误 122
    7.9 从属性中移除类名 122
    7.10 移除类和接口的首字母 124
    7.11 重命名base/do 函数 125
    7.12 将复数类转换为单数 127
    7.13 从名称中移除“Collection” 128
    7.14 移除类名中的“Impl”前缀/后缀 129
    7.15 根据角色重命名参数 130
    7.16 移除冗余的参数名称 131
    7.17 移除名称中的不必要上下文 133
    7.18 避免数据命名 134
    第8章 注释 137
    8.0 引言 137
    8.1 删除被注释的代码 138
    8.2 删除过时的注释 140
    8.3 删除逻辑注释 141
    8.4 删除Getter 注释 143
    8.5 将注释转换为函数名称 144
    8.6 删除方法内的注释 145
    8.7 用测试替换注释 148
    第9章 标准 151
    9.0 引言 151
    9.1 遵循代码规范 151
    9.2 统一缩进方式 154
    9.3 统一命名规范 156
    9.4 用英文编写代码 157
    9.5 统一参数顺序 159
    9.6 修复另外的问题 160
    第10章 复杂性 163
    10.0 引言 163
    10.1 移除重复代码 163
    10.2 移除设置/配置和功能切换 166
    10.3 将状态作为属性更改 167
    10.4 移除代码中的特殊设计 170
    10.5 打破多个Promises 172
    10.6 打破长链的协作 173
    10.7 将方法提取到对象中 175
    10.8 关注数组构造函数 177
    10.9 移除幽灵对象 179
    第11章 膨胀者 181
    11.0 引言 181
    11.1 分解过长的方法 181
    11.2 减少过多参数 183
    11.3 减少多余变量 185
    11.4 移除过多的括号 188
    11.5 移除过多的方法 189
    11.6 分解过多的属性 190
    11.7 减少导入列表 192
    11.8 拆分“与”功能 193
    11.9 拆分臃肿的接口 195
    第12章 YAGNI 199
    12.0 引言 199
    12.1 移除死代码 200
    12.2 使用代码代替图表 201
    12.3 重构只有一个子类的类 203
    12.4 移除只使用一次的接口 205
    12.5 移除设计模式的滥用 207
    12.6 替换业务集合 208
    第13章 快速失败 211
    13.0 引言 211
    13.1 变量重新赋值的重构 211
    13.2 强制前提条件 213
    13.3 使用更严格的参数 216
    13.4 移除开关语句中的默认情况 217
    13.5 避免在遍历时修改集合 219
    13.6 重新定义哈希和相等性 220
    13.7 无功能性变化的重构 222
    第14章 条件语句 225
    14.0 引言 225
    14.1 用多态替换偶然的if 语句 226
    14.2 为事件重命名标志变量 234
    14.3 实例化布尔变量 235
    14.4 替换Switch/Case/elseif 语句 237
    14.5 使用集合替换硬编码的if 条件 239
    14.6 将布尔值改为短路条件 241
    14.7 添加隐式else 242
    14.8 重写条件箭头代码 243
    14.9 避免使用短路技巧 245
    14.10 重写嵌套的箭头代码 247
    14.11 避免返回布尔值进行条件检查 249
    14.12 更改布尔值的比较方式 251
    14.13 从长三元表达式中提取 252
    14.14 将非多态函数转换为多态函数 254
    14.15 改变相等比较 256
    14.16 使硬编码的业务条件具体化 257
    14.17 移除不必要的布尔值 258
    14.18 重写嵌套三元条件 259
    第15章 空值 263
    15.0 简介 263
    15.1 创建空对象 263
    15.2 移除可选链路 267
    15.3 将可选属性转换为集合 270
    15.4 使用真实对象作为空对象272
    15.5 不使用空对象表示未知位置 275
    第16章 过早优化 279
    16.0 引言 279
    16.1 避免对象上的标识符 280
    16.2 移除过早的优化 283
    16.3 移除位运算的过早优化 285
    16.4 减少过度泛化 286
    16.5 改变结构优化 287
    16.6 移除锚定船只 289
    16.7 从领域对象中提取缓存 290
    16.8 基于实现的回调事件的移除 293
    16.9 移除构造函数中的查询 294
    16.10 从析构函数中移除代码 295
    第17章 耦合 299
    17.0 引言 299
    17.1 显式化隐藏假设 299
    17.2 替换单例模式 301
    17.3 打破上帝对象 304
    17.4 打破分歧性变更 307
    17.5 将9999 特殊标志值转换为正常值 309
    17.6 移除散弹代码 311
    17.7 移除可选参数 313
    17.8 防止特性依恋 315
    17.9 移除中间人 317
    17.10 将默认参数移到末尾 319
    17.11 避免连锁反应 321
    17.12 移除业务对象上的意外方法 323
    17.13 从用户界面中移除业务代码 324
    17.14 改变类之间的耦合 328
    17.15 重构数据团 330
    17.16 打破不恰当的亲密关系 332
    17.17 转换可互换对象.334
    第18章 全局变量 337
    18.0 引言 337
    18.1 实例化全局函数 337
    18.2 实例化静态函数 339
    18.3 用结构化代码替换GoTo 340
    18.4 移除全局类 341
    18.5 改变全局日期创建 344
    第19章 层次结构 347
    19.0 引言 347
    19.1 打破深层继承 347
    19.2 打破悠悠球层次结构 350
    19.3 打破子分类以重用代码 352
    19.4 用行为替换“is-a”关系 355
    19.5 移除嵌套类 357
    19.6 重命名孤立类 359
    19.7 使具体类成为最终类 360
    19.8 显式定义类的继承关系 362
    19.9 迁移空类 364
    19.10 推迟过早的分类.366
    19.11 移除受保护的属性 368
    19.12 完成空实现 370
    第20章 测试 373
    20.0 引言 373
    20.1 测试私有方法 374
    20.2 为断言添加描述 376
    20.3 将 assertTrue 迁移到特定断言 377
    20.4 用真实对象替换模拟对象 379
    20.5 优化通用断言 382
    20.6 移除不稳定的测试 383
    20.7 更改浮点数断言 385
    20.8 将测试数据改为真实数据386
    20.9 保护违反封装的测试 389
    20.10 移除不相关的测试信息 391
    20.11 在每个合并请求中添加覆盖率 393
    20.12 根据日期重写测试 394
    20.13 学习一种新的编程语言 396
    第21章 技术债务 399
    21.0 引言 399
    21.1 移除依赖于生产环境的代码 400
    21.2 移除缺陷跟踪器 402
    21.3 移除警告/严格模式关闭 403
    21.4 预防和移除 ToDo 和 FixMe 405
    第22章 异常 407
    22.0 引言 407
    22.1 删除空的异常块 407
    22.2 删除不必要的异常 409
    22.3 重写预期情况下的异常 411
    22.4 重写嵌套的try/catch 块 412
    22.5 用异常替换返回代码 414
    22.6 重写异常箭头代码 416
    22.7 隐藏终端用户的低级错误418
    22.8 缩小异常范围 419
    第23章 元编程 423
    23.0 简介 423
    23.1 移除元编程用法 424
    23.2 实例化匿名函数 428
    23.3 移除预处理器 430
    23.4 移除动态方法 431
    第24章 类型 435
    24.0 引言 435
    24.1 移除类型检查 435
    24.2 处理真值 437
    24.3 将浮点数改为小数 441
    第25章 安全性 443
    25.0 引言 443
    25.1 输入过滤 443
    25.2 更改顺序ID 445
    25.3 移除包依赖 447
    25.4 替换恶意正则表达式 449
    25.5 保护对象反序列化 450
    术语表 453
    ]]> 3

    内容简介

    软件工程师和架构师在处理大型复杂代码库时,需要有效地扩展和维护它们。通过这本经典实例,本书作者不仅仅介绍了整洁代码的概念,还向你展示如何识别改进机会,并评估它们对生产代码的影响。这些技术在可靠性和系统演化方面,随着时间的推移带来了显著的回报。
    本书通过JavaScript、PHP、Python、Java等多种编程语言的真实示例,提供了经过验证的实践方法,帮助你扩展和维护大型系统。每章涵盖了包括可读性、耦合性、可测试性、安全性和可扩展性在内的基本概念,还有代码坏味道及其相应的解决方案。
    随着阅读的深入,本书中的重构实例及其解决的问题会变得越来越复杂。你将学习以下内容:
    ·理解整洁代码的好处,并学习如何识别改进机会。
    ·逐步学习重构技术。
    ·理解整洁代码背后的理论。
    ·在多种现代编程语言中看到实际的例子。
    ·获......

    ]]> 4 ]]> 5
    1
    • 商品详情
    • 内容简介

    售后保障

    最近浏览

    猜你喜欢

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

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

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

    查看我的收藏夹

    确定

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

    关闭

    抱歉,您暂无任性付资格

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