重构的时机和方法 阿里云 lit azw3 txt pdf caj 下载 在线

重构的时机和方法电子书下载地址
内容简介:
每个代码库都包含一些错误和低效之处,你需要将其找出并完成修正。以正确的方式进行重构,代码就会变得优雅、易读和易维护。在本书中,你将学习一种独特的重构方式,可以在5行或更少的代码中实现任何方法。你还会发现大多数资深开发人员都知道的一个秘密::有时敲定代码并在稍后进行修复会更快。 对所有技术水平的开发人员来说,本书是以全新视角审视重构。在本书中,你将掌握作者的创新方法,学习一些具体的规则,将任何方法简化为5行或更少。你将了解重构的时机、适用于大多数常见问题的特定重构模式,以及应该完全删除的代码特征。 ● 坏代码的标志 ● 在甚至不理解代码的情况下安全地改进它 ● 平衡优化和代码通用性 ● 正确的编译器实践
书籍目录:
第Ⅰ部分
通过重构电脑游戏来学习
第1章 重构 3
1.1 什么是重构 4
1.2 技能:重构什么 5
1.2.1 代码异味示例 5
1.2.2 规则示例 6
1.3 文化:什么时候重构 6
1.3.1 在遗留系统中重构 7
1.3.2 什么时候不应该重构 8
1.4 工具:如何(安全地)重构 8
1.5 入门所需的工具 9
1.5.1 编程语言:TypeScript 9
1.5.2 编辑器:Visual Studio Code 9
1.5.3 版本控制:Git 10
1.6 总体示例:一款2D益智游戏 10
1.7 关于实际软件的说明 12
1.8 本章小结 12
第2章 重构的内部原理 13
2.1 提高可读性和可维护性 13
2.1.1 使代码更好 13
2.1.2 维护代码而不改变代码作用 15
2.2 获得速度、灵活性和稳定性 16
2.2.1 优先选择组合而非继承 16
2.2.2 通过添加而非修改来更改代码 17
2.3 重构与你的日常工作 18
2.4 在软件上下文中定义“域” 18
2.5 本章小结 19
第3章 拆分长函数 21
3.1 建立第一条规则:为什么是5行 22
3.2 引入重构模式来分解函数 24
3.3 分解函数以平衡抽象 32
3.3.1 规则:EITHER CALL OR PASS 32
3.3.2 应用规则 33
3.4 好的函数名称的属性 33
3.5 分解任务太多的函数 36
3.5.1 规则:IF ONLY AT THE START 36
3.5.2 应用规则 37
3.6 本章小结 39
第4章 让类型代码发挥作用 41
4.1 重构一个简单的if语句 41
4.1.1 规则:NEVER USE IF WITH ELSE 42
4.1.2 应用规则 43
4.1.3 重构模式:REPLACE TYPE CODE WITH CLASSES 45
4.1.4 将代码推入类 48
4.1.5 重构模式:PUSH CODE
INTO CLASSES 51
4.1.6 内联一个多余的方法 55
4.1.7 重构模式:INLINE METHOD 55
4.2 重构一个大的if语句 57
4.2.1 去除泛化 61
4.2.2 重构模式:SPECIALIZE METHOD 63
4.2.3 唯一允许的switch 65
4.2.4 规则:NEVER USE SWI***H 66
4.2.5 消除if 67
4.3 解决代码重复问题 69
4.3.1 不能用抽象类代替接口吗 71
4.3.2 规则:ONLY INHERIT FROM INTE***CES 71
4.3.3 所有这些代码重复是怎么回事 72
4.4 重构一对复杂的if语句 73
4.5 删除无用代码 76
4.6 本章小结 77
第5章 将类似的代码融合在一起 79
5.1 统一相似的类 80
5.2 统一简单条件 93
5.3 统一复杂条件 96
5.3.1 对条件使用算术规则 97
5.3.2 规则:USE PURE CONDITIONS 98
5.3.3 应用条件算术 100
5.4 跨类统一代码 101
5.4.1 引入UML类图描绘类关系 106
5.4.2 重构模式:INTRODUCE STRATEGY PATTERN 108
5.4.3 规则:NO INTE***CE WITH ONLY ONE IMPLEMENTATION 114
5.4.4 重构模式:EXTRACT INTE***CE FROM
IMPLEMENTATION 115
5.5 统一类似函数 118
5.6 统一类似代码 121
5.7 本章小结 125
第6章 保护数据 127
6.1 无getter封装 127
6.1.1 规则:DO NOT USE GETTERS OR SETTERS 127
6.1.2 应用规则 129
6.1.3 重构模式:ELIMINATE GETTER OR SETTER 131
6.1.4 消除最后的getter 133
6.2 封装简单数据 136
6.2.1 规则:NEVER H***E COMMON AFFIXES 136
6.2.2 应用规则 138
6.2.3 重构模式:ENCAPSULATE DATA 143
6.3 封装复杂数据 145
*** 消除序列不变量 152
6.5 以另一种方式消除枚举 155
6.5.1 通过私有构造函数进行枚举 155
6.5.2 将数字重新映射到类 157
6.6 本章小结 159
第Ⅱ部分 学以致用
第7章 与编译器协作 163
7.1 了解编译器 163
7.1.1 缺点:停机问题限制了编译时知识 164
7.1.2 优点:可达性确保方法返回 164
7.1.3 优点:明确赋值防止访问未初始化的变量 165
7.1.4 优点:访问控制有助于封装数据 166
7.1.5 优点:类型检查证明属性 166
7.1.6 缺点:取消引用null会使应用程序崩溃 167
7.1.7 缺点:算术错误导致溢出或崩溃 167
7.1.8 缺点:越界错误使应用程序崩溃 168
7.1.9 缺点:无限循环使应用程序停滞 168
7.1.10 缺点:死锁和竞争条件导致意外行为 169
7.2 使用编译器 170
7.2.1 使编译器运行 171
7.2.2 不要对抗编译器 173
7.3 信任编译器 178
7.3.1 教编译器不变量 178
7.3.2 注意警告 180
7.4 完全信任编译器 180
7.5 本章小结 181
第8章 远离注释 183
8.1 删除过时的注释 184
8.2 删除注释掉的代码 185
8.3 删除不重要的注释 186
8.4 将注释转换为方法名称 186
8.5 保留记录不变量的注释 187
8.6 本章小结 188
第9章 喜欢删除代码 189
9.1 删除代码可能是下一个前沿 190
9.2 删除代码以消除偶然复杂性 190
9.2.1 缺乏经验导致的技术无知 191
9.2.2 时间压力造成的技术浪费 192
9.2.3 环境造成的技术债务 192
9.2.4 增长带来的技术拖累 192
9.3 根据亲密程度对代码进行分类 193
9.4 删除遗留系统中的代码 194
9.4.1 使用绞杀者模式进行了解 194
9.4.2 使用绞杀者模式改进代码 196
9.5 从冻结项目中删除代码 196
9.5.1 将期望的结果设为默认 197
9.5.2 通过“探针并稳定”模式最大
限度减少浪费 197
9.6 在版本控制中删除分支 198
9.7 删除代码文档 199
9.8 删除测试代码 200
9.8.1 删除乐观测试 200
9.8.2 删除悲观测试 200
9.8.3 修复或删除不稳定测试 201
9.8.4 重构代码以消除复杂的测试 201
9.8.5 专门化测试以加快速度 201
9.9 删除配置代码 202
9.10 删除代码以消除库 203
9.11 从工作功能中删除代码 205
9.12 本章小结 206
第10章 永远不要害怕添加代码 207
10.1 接受不确定性:进入危险 207
10.2 使用探针实验克服对构建错误事物的恐惧 208
10.3 以固定比例克服对浪费或风险的恐惧 209
10.4 通过逐步改进克服对不完美的恐惧 210
10.5 复制和粘贴效果如何改变速度 211
10.6 通过可扩展性进行添加修改 211
10.7 通过添加修改可实现向后兼容 212
10.8 通过功能切换进行添加修改 213
10.9 通过抽象分支进行添加修改 216
10.10 本章小结 218
第11章 遵循代码中的结构 221
11.1 根据范围和来源分类结构 221
11.2 代码反映行为的3种
方式 222
11.2.1 在控制流中表达行为 223
11.2.2 在数据结构中表达行为 224
11.2.3 在数据中表达行为 227
11.3 添加代码以暴露结构 229
11.4 观察而不是预测且使用经验技术 229
11.5 在不理解代码的情况下获得安全性 230
11.5.1 通过测试获得安全性 230
11.5.2 通过掌握获得安全性 230
11.5.3 通过工具辅助获得安全性 230
11.5.4 通过正式验证获得安全性 231
11.5.5 通过容错获得安全性 231
11.6 识别未利用的结构 231
11.6.1 通过提取和封装来利用空白 231
11.6.2 通过统一来利用重复 233
11.6.3 通过封装来利用共同词缀 235
11.*** 通过动态调度来利用运行时类型 236
11.7 本章小结 237
第12章 避免优化和通用性 239
12.1 力求简单 240
12.2 何时以及如何通用 241
12.2.1 最小化构建以避免通用性 242
12.2.2 统一稳定性相似的事物 242
12.2.3 消除不必要的通用性 242
12.3 何时以及如何优化 243
12.3.1 优化前重构 243
12.3.2 根据约束理论进行优化 245
12.3.3 使用指标指导优化 247
12.3.4 选择好的算法和数据结构 248
12.3.5 使用缓存 249
12.3.6 隔离优化代码 250
12.4 本章小结 251
作者介绍:
Christian Clausen是一名技术敏捷教练,主要教团队如何重构代码。
出版社信息:
暂无出版社相关信息,正在全力查找中!
书籍摘录:
暂无相关书籍摘录,正在全力查找中!
在线阅读/听书/购买/PDF下载地址:
原文赏析:
暂无原文赏析,正在全力查找中!
其它内容:
书籍介绍
每个代码库都包含一些错误和低效之处,你需要将其找出并完成修正。以正确的方式进行重构,代码就会变得优雅、易读和易维护。在本书中,你将学习一种独特的重构方式,可以在5行或更少的代码中实现任何方法。你还会发现大多数资深开发人员都知道的一个秘密::有时敲定代码并在稍后进行修复会更快。 对所有技术水平的开发人员来说,本书是以全新视角审视重构。在本书中,你将掌握作者的创新方法,学习一些具体的规则,将任何方法简化为5行或更少。你将了解重构的时机、适用于大多数常见问题的特定重构模式,以及应该完全删除的代码特征。 ● 坏代码的标志 ● 在甚至不理解代码的情况下安全地改进它 ● 平衡优化和代码通用性 ● 正确的编译器实践
网站评分
书籍多样性:3分
书籍信息完全性:3分
网站更新速度:9分
使用便利性:7分
书籍清晰度:5分
书籍格式兼容性:4分
是否包含广告:7分
加载速度:4分
安全性:4分
稳定性:7分
搜索功能:8分
下载便捷性:4分
下载点评
- 四星好评(88+)
- txt(189+)
- 还行吧(596+)
- 下载速度快(545+)
- 服务好(166+)
- 差评(457+)
下载评价
- 网友 国***芳:
五星好评
- 网友 曾***玉:
直接选择epub/azw3/mobi就可以了,然后导入微信读书,体验百分百!!!
- 网友 蓬***之:
好棒good
- 网友 习***蓉:
品相完美
- 网友 堵***洁:
好用,支持
- 网友 谢***灵:
推荐,啥格式都有
- 网友 冷***洁:
不错,用着很方便
- 网友 堵***格:
OK,还可以
- 网友 常***翠:
哈哈哈哈哈哈
- 网友 利***巧:
差评。这个是收费的
- 网友 潘***丽:
这里能在线转化,直接选择一款就可以了,用他这个转很方便的
- 网友 权***波:
收费就是好,还可以多种搜索,实在不行直接留言,24小时没发到你邮箱自动退款的!
- 网友 冯***卉:
听说内置一千多万的书籍,不知道真假的
- 网友 郗***兰:
网站体验不错
- 网友 瞿***香:
非常好就是加载有点儿慢。
- 网友 屠***好:
还行吧。
喜欢"重构的时机和方法"的人也看了
药物合成反应实验 阿里云 lit azw3 txt pdf caj 下载 在线
从零开始学房地产投资(白金版) 阿里云 lit azw3 txt pdf caj 下载 在线
300句儿童英语主题联想 3-6岁儿童启蒙早教卡通图画书 中英文双语认知绘本 零基础英语入门 少儿英语单词书 幼儿英语启蒙教材书籍 幼儿英语早教书 阿里云 lit azw3 txt pdf caj 下载 在线
快乐成长活动课程·教师用书(托班上)(快乐成长活动课程) 阿里云 lit azw3 txt pdf caj 下载 在线
明代野史丛书:三朝野记(外四种) 阿里云 lit azw3 txt pdf caj 下载 在线
中国大盾构——中国全断面隧道掘进机及施工技术发展史 阿里云 lit azw3 txt pdf caj 下载 在线
笛子考级曲集 阿里云 lit azw3 txt pdf caj 下载 在线
【新考纲】监理工程师2020教材配套试卷真题精讲与冲关密卷:建设工程监理案例分析(土木建筑工程) 阿里云 lit azw3 txt pdf caj 下载 在线
产品经理手册(原书第4版)(白金版) [美] 琳达·哥乔斯(Linda Gorchels) 著 祝亚雄,冯华丽,金骆彬 译 自由组合套装 阿里云 lit azw3 txt pdf caj 下载 在线
拳击酷史 阿里云 lit azw3 txt pdf caj 下载 在线
- 林晨曦·肖像 2021 林晨曦 中国美术学院出版社 【新华书店正版图书书籍】 阿里云 lit azw3 txt pdf caj 下载 在线
- 迷你特工队超级恐龙力量图画故事书注音版:福乐无处不在(第二辑16) 阿里云 lit azw3 txt pdf caj 下载 在线
- 数字技术与新媒体传播 阿里云 lit azw3 txt pdf caj 下载 在线
- 就想要个小宝宝,轻松备孕180天 江西科学技术出版社 阿里云 lit azw3 txt pdf caj 下载 在线
- 大学英语六级考试与辅导(冲刺卷:综合训练) 阿里云 lit azw3 txt pdf caj 下载 在线
- 爸爸也曾是少年·爱的手账 阿里云 lit azw3 txt pdf caj 下载 在线
- 了解历史 中国历史上著名的科学家 李默【正版书】 阿里云 lit azw3 txt pdf caj 下载 在线
- 2018秋教材解读:初中英语八年级上册(人教版) 阿里云 lit azw3 txt pdf caj 下载 在线
- InsurTech:保险科技权威指南 阿里云 lit azw3 txt pdf caj 下载 在线
- Kipper's A to Z: An Alphabet Adventure小狗皮卡学A到Z(美国版)I***N9780152054410 阿里云 lit azw3 txt pdf caj 下载 在线
书籍真实打分
故事情节:4分
人物塑造:7分
主题深度:9分
文字风格:6分
语言运用:6分
文笔流畅:8分
思想传递:9分
知识深度:5分
知识广度:8分
实用性:9分
章节划分:6分
结构布局:9分
新颖与独特:8分
情感共鸣:3分
引人入胜:8分
现实相关:7分
沉浸感:4分
事实准确性:6分
文化贡献:3分