遗留系统重建实践PDF电子书下载
- 电子书积分:9 积分如何计算积分?
- 作 者:(英)克里斯·伯查尔著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2017
- ISBN:7115465851
- 页数:182 页
第一部分 开始 3
1 第1章 了解遗留项目中的挑战 3
1.1 遗留项目的定义 3
1.1.1 遗留项目的特征 4
1.1.2 规则的例外 5
1.2 遗留代码 6
1.2.1 没有测试和无法测试的代码 6
1.2.2 不灵活的代码 8
1.2.3 被技术债务拖累的代码 8
1.3 遗留基础设施 9
1.3.1 开发环境 10
1.3.2 过时的依赖 10
1.3.3 异构环境 11
1.4 遗留文化 12
1.4.1 害怕变化 12
1.4.2 知识仓库 13
1.5 小结 14
2第2章 找到起点 15
2.1 克服恐惧和沮丧 15
2.1.1 恐惧 16
2.1.2 沮丧 18
2.2 收集软件的有用数据 19
2.2.1 bug和编码标准违例 20
2.2.2 性能 20
2.2.3 错误计数 23
2.2.4 对常见的任务计时 23
2.2.5 常用文件 24
2.2.6 度量可度量的一切 25
2.3 用FindBugs、PMD和 25
Checkstyle审查代码库 25
2.3.1 在IDE中运行FindBugs 26
2.3.2 处理误报 29
2.3.3 PMD和Checkstyle 32
2.4 用Jenkins进行持续审查 34
2.4.1 持续集成和持续审查 34
2.4.2 安装和设置Jenkins 35
2.4.3 用Jenkins构建和审查代码 36
2.4.4 还能用Jenkins做些什么 37
2.4.5 SonarQube 39
2.5 小结 39
第二部分 通过重构改善代码库 39
3第3章 准备重构 43
3.1 达成团队共识 44
3.1.1 传统主义者 44
3.1.2 反传统主义者 46
3.1.3 一切都在于沟通 47
3.2 获得组织的批准 48
3.2.1 使它变得正式 48
3.2.2 备用计划:神秘的20%计划 49
3.3 选择重构目标 50
3.4 决策时间:重构还是重写 51
3.4.1 不应该重写的情况 52
3.4.2 从头重写的好处 55
3.4.3 重写的必要条件 56
3.4.4 第三种方式:增量重写 57
3.5 小结 58
4第4章 重构 59
4.1 有纪律的重构 59
4.1.1 避免麦克白的悲剧 59
4.1.2 把重构和其他的工作分开 60
4.1.3 依靠IDE 61
4.1.4 依靠版本控制系统 64
4.1.5 Mikado方法 65
4.2 常见的遗留代码的特征和重构 66
4.2.1 陈旧代码 66
4.2.2 有毒的测试 68
4.2.3 过多的null 70
4.2.4 不必要的可变状态 73
4.2.5 错综复杂的业务逻辑 74
4.2.6 视图层中的复杂性 79
4.3 测试遗留代码 83
4.3.1 测试不可测试的代码 83
4.3.2 没有单元测试的回归测试 86
4.3.3 让用户为你工作 88
4.4 小结 89
5第5章 重搭架构 90
5.1 什么是重搭架构 90
5.2 将单体应用程序分解为模块 92
5.2.1 案例研究——日志管理应用程序 92
5.2.2 定义模块和接口 94
5.2.3 构建脚本和依赖管理 95
5.2.4 分拆模块 96
5.2.5 引入Guice 97
5.2.6 Gradle来了 98
5.2.7 结论 98
5.3 将Web应用程序分发到服务 99
5.3.1 再看一下Orinoco.com 99
5.3.2 选择一个架构 100
5.3.3 继续采用单体架构 101
5.3.4 前后端分离 103
5.3.5 面向服务架构 106
5.3.6 微服务 108
5.3.7 Orinoco.com应该做什么 109
5.4 小结 109
6第6章 大规模重写 111
6.1 决定项目范围 112
6.1.1 项目目标是什么 112
6.1.2 记录项目范围 113
6.2 从过去学习 114
6.3 如何处理数据库 115
6.3.1 共享现有数据库 116
6.3.2 创建一个新数据库 119
6.3.3 应用程序间通信 124
6.4 小结 125
第三部分 重构之外——改善项目工作流程与基础设施 125
7第7章 开发环境的自动化 129
7.1 工作的第一天 129
7.1.1 搭建用户活动仪表盘开发环境 130
7.1.2 出了什么问 132
7.2 一个好的README文件的价值 134
7.3 用Vagrant和Ansible对开发环境进行自动化 135
7.3.1 Vagrant介绍 135
7.3.2 为用户活动仪表盘项目搭建Vagrant 136
7.3.3 用Ansible进行自动配置 137
7.3.4 添加更多的角色 139
7.3.5 移除对外部数据库的依赖 141
7.3.6 工作的第一天——再来一次 142
7.4 小结 143
8第8章 将自动化扩展到测试环境、预生产环境以及生产环境 144
8.1 自动化基础设施的好处 145
8.1.1 保证环境一致性 145
8.1.2 易于更新软件 145
8.1.3 易于搭建新环境 145
8.1.4 支持追踪配置更改 146
8.2 将自动化扩展到其他环境 146
8.2.1 重构Ansible脚本以处理多种环境 146
8.2.2 为Ansible角色和playbook搭建库 150
8.2.3 让Jenkins负责 152
8.2.4 常见问题 154
8.3 移到云上 155
8.3.1 不可变基础设施 156
8.3.2 DevOps 156
8.4 小结 157
9第9章 对遗留软件的开发、构建以及部署过程进行现代化 158
9.1 开发、构建以及部署遗留软件的困难 158
9.1.1 缺乏自动化 158
9.1.2 过时的工具 160
9.2 更新工具链 160
9.3 用Jenkins实现持续集成与自动化 163
9.4 自动发布和部署 165
9.5 小结 172
10第10章 停止编写遗留代码 173
10.1 源代码并不是项目的全部 173
10.2 信息不能是自由的 174
10.2.1 文档 174
10.2.2 促进沟通 175
10.3 工作是做不完的 176
10.3.1 定期进行代码评审 176
10.3.2 修复一扇窗户 176
10.4 自动化一切 177
10.5 小型为佳 178
10.6 小结 180
- 《管理信息系统习题集》郭晓军 2016
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《语文教育教学实践探索》陈德收 2018
- 《彼得·布鲁克导演实践研究》邓小玲著 2019
- 《反思性实践》胡红梅, 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《系统解剖学速记》阿虎医考研究组编 2019
- 《环境影响评价公众参与理论与实践研究》樊春燕主编 2019
- 《慢性呼吸系统疾病物理治疗工作手册》(荷)瑞克·考斯林克(RikGosselink) 2020
- 《学校特色教育探索与实践》管升起著 2019
- 《中风偏瘫 脑萎缩 痴呆 最新治疗原则与方法》孙作东著 2004
- 《水面舰艇编队作战运筹分析》谭安胜著 2009
- 《王蒙文集 新版 35 评点《红楼梦》 上》王蒙著 2020
- 《TED说话的力量 世界优秀演讲者的口才秘诀》(坦桑)阿卡什·P.卡里亚著 2019
- 《燕堂夜话》蒋忠和著 2019
- 《经久》静水边著 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《微表情密码》(波)卡西亚·韦佐夫斯基,(波)帕特里克·韦佐夫斯基著 2019
- 《看书琐记与作文秘诀》鲁迅著 2019
- 《酒国》莫言著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019