软件重构实战视频教程—1741人已学习
课程介绍
软件重构是对软件内部结构的一种调整,属于软件工程范畴,重构软件的目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。软件重构实践是对软件重构的一些原则和方法进行加以实践,在软件重构的过程中,提高软件代码整洁度,使程序不仅机器可以识别,人也可以轻松阅读和维护,这才是高质量的代码本。
课程收益
目标一. 了解软件代码的坏味道
目标二. 全面理解软件重构有哪些重构的技巧
目标三. 学会如何写出整洁的代码
目标四. 学会如何构造单元测试体系
目标五. 将软件重构的技巧应用到项目中
目标六. 通过完整的课程学习,会使你的代码原来越整洁、可读性以及维护性越来越强,同时提高自身的编程能力
讲师介绍
张勇 更多讲师课程
北风网技术总监,在某大型电信设备公司担任架构师,主要从事电信领域的软件开发,经验丰富。对电信计费系统以及核心网软件系统有深入了解,对设计高可靠性,高扩展性的软件系统具有丰富经验。
课程大纲
第1章:基础部分讲解
1. 向经典致敬(1) 13:46
2. 向经典致敬(2) 13:23
3. 类的坏味道(1) 23:35
4. 类的坏味道(2) 21:35
5. 函数的坏味道 26:20
6. 数据的坏味道 10:57
7. 什么是重构(1) 22:37
8. 什么是重构(2) 15:53
9. 什么是整洁的代码 25:35
10. 单一权责原则 20:56
11. 开闭原则(1) 17:56
12. 开闭原则(2) 8:55
13. 重构设计与性能 11:45
14. 开发者为什么不愿意重构 6:16
15. 单元测试的好处(1) 4:36
16. 单元测试的好处(2) 25:35
17. JUnit框架的使用(1) 14:52
18. JUnit框架的使用(2) 7:32
19. JUnit框架的使用(3) 14:18
20. 整洁的代码测试 11:03
21. 名副其实 10:20
22. 避免误导和思维映射 5:48
23. 使用可读和可搜索的名称 5:48
24. 类名和方法名 4:34
25. 避免使用编码 6:53
26. 使用解决方案和问题领域的名称 3:44
27. 添加有意义的语意 5:02
28. 函数以及参数的原则(1) 14:49
29. 函数以及参数的原则(2) 6:00
30. 函数的使用(1) 29:26
31. 函数的使用(2) 26:08
32. 函数的使用(3) 37:16
33. 变量的使用(1) 17:33
34. 变量的使用(2) 23:52
35. 参数的使用(1) 20:00
36. 参数的使用(2) 11:34
37. 参数的使用(3) 23:56
38. 参数的使用(4) 16:57
39. 用代码来阐述(1) 16:35
40. 用代码来阐述(2) 10:41
41. 好的注释(1) 5:25
42. 好的注释(2) 8:08
43. 坏注释 17:04
44. 格式的目的 5:56
45. 垂直格式(1) 8:50
46. 垂直格式(2) 9:17
47. 水平格式 14:26
48. 团队规则 5:25
49. 异常处理的方式 5:29
50. 定义异常类型以及常规流程(1) 6:48
51. 定义异常类型以及常规流程(2) 18:03
52. 定义异常类型以及常规流程(3) 6:06
53. 定义异常类型以及常规流程(4) 17:32
54. 别返回null与传递null值(1) 4:36
55. 别返回null与传递null值(2) 3:32
56. 字段的使用(1) 18:43
57. 字段的使用(2) 28:23
58. 字段的使用(3) 19:59
59. 对象的应用(1) 13:50
60. 对象的应用(2) 18:08
61. 对象的应用(3) 14:31
62. 对象的应用(4) 13:12
63. 对象的应用(5) 6:26
64. 对象的应用(6) 4:47
65. 单双向关联的使用(1) 12:24
66. 单双向关联的使用(2) 5:43
67. 魔法数以及类型码的使用(1) 23:50
68. 魔法数以及类型码的使用(2) 9:10
69. 魔法数以及类型码的使用(3) 13:19
70. 魔法数以及类型码的使用(4) 23:48
71. 分解合并条件表达式(1) 10:58
72. 分解合并条件表达式(2) 18:53
73. 分解合并条件表达式(3) 4:06
74. 移出控制标记 17:01
75. 以卫语句取代嵌套条件表达式(1) 16:58
76. 以卫语句取代嵌套条件表达式(2) 10:51
77. 以多态取代条件表达式 19:38
78. 引入null对象和断言(1) 23:23
79. 引入null对象和断言(2) 11:02
80. 引入null对象和断言(3) 9:04
81. 字段和函数的移动(1) 20:50
82. 字段和函数的移动(2) 14:16
83. 字段和函数的移动(3) 2:59
84. 字段和函数的移动(4) 14:01
85. 提炼子类、超类和接口(1) 12:47
86. 提炼子类、超类和接口(2) 9:41
87. 提炼子类、超类和接口(3) 20:27
88. 提炼子类、超类和接口(4) 16:42
89. 提炼子类、超类和接口(5) 5:55
90. 继承和委托的使用(1) 16:20
91. 继承和委托的使用(2) 2:25
92. 继承和委托的使用(3) 11:21
93. 继承和委托的使用(4) 8:36
94. 继承和委托的使用(5) 11:12
95. 继承和委托的使用(6) 12:39
96. 继承和委托的使用(7) 11:21
第2章:案例部分讲解
1. 案例:案例说明 8:59
2. 案例:重构前上架影片 18:28
3. 案例:输出html格式消费清单(1) 9:32
4. 案例:输出html格式消费清单(2) 17:53
5. 案例:输出html格式消费清单(3) 13:37
6. 案例:输出html格式消费清单(4) 12:32
7. 案例:输出html格式消费清单(5) 14:27
8. 案例:重构后上架影片 20:16
9. 案例:代码走查(1) 15:21
10. 案例:代码走查(2) 21:27
11. 案例:代码走查(3) 11:56
12. 案例:代码出现坏味道(1) 22:08
13. 案例:代码出现坏味道(2) 10:34
14. 案例:代码出现坏味道(3) 14:20
15. 案例:代码重构(1) 19:36
16. 案例:代码重构(2) 3:35
17. 案例:代码重构(3) 18:57
18. 案例:代码重构4) 14:23
大家可以点击【 查看详情】查看我的课程
课程介绍
![201711301535594365.jpg](https://img-bss.csdn.net/201711301535594365.jpg)
软件重构是对软件内部结构的一种调整,属于软件工程范畴,重构软件的目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。软件重构实践是对软件重构的一些原则和方法进行加以实践,在软件重构的过程中,提高软件代码整洁度,使程序不仅机器可以识别,人也可以轻松阅读和维护,这才是高质量的代码本。
课程收益
目标一. 了解软件代码的坏味道
目标二. 全面理解软件重构有哪些重构的技巧
目标三. 学会如何写出整洁的代码
目标四. 学会如何构造单元测试体系
目标五. 将软件重构的技巧应用到项目中
目标六. 通过完整的课程学习,会使你的代码原来越整洁、可读性以及维护性越来越强,同时提高自身的编程能力
讲师介绍
张勇 更多讲师课程
北风网技术总监,在某大型电信设备公司担任架构师,主要从事电信领域的软件开发,经验丰富。对电信计费系统以及核心网软件系统有深入了解,对设计高可靠性,高扩展性的软件系统具有丰富经验。
课程大纲
第1章:基础部分讲解
1. 向经典致敬(1) 13:46
2. 向经典致敬(2) 13:23
3. 类的坏味道(1) 23:35
4. 类的坏味道(2) 21:35
5. 函数的坏味道 26:20
6. 数据的坏味道 10:57
7. 什么是重构(1) 22:37
8. 什么是重构(2) 15:53
9. 什么是整洁的代码 25:35
10. 单一权责原则 20:56
11. 开闭原则(1) 17:56
12. 开闭原则(2) 8:55
13. 重构设计与性能 11:45
14. 开发者为什么不愿意重构 6:16
15. 单元测试的好处(1) 4:36
16. 单元测试的好处(2) 25:35
17. JUnit框架的使用(1) 14:52
18. JUnit框架的使用(2) 7:32
19. JUnit框架的使用(3) 14:18
20. 整洁的代码测试 11:03
21. 名副其实 10:20
22. 避免误导和思维映射 5:48
23. 使用可读和可搜索的名称 5:48
24. 类名和方法名 4:34
25. 避免使用编码 6:53
26. 使用解决方案和问题领域的名称 3:44
27. 添加有意义的语意 5:02
28. 函数以及参数的原则(1) 14:49
29. 函数以及参数的原则(2) 6:00
30. 函数的使用(1) 29:26
31. 函数的使用(2) 26:08
32. 函数的使用(3) 37:16
33. 变量的使用(1) 17:33
34. 变量的使用(2) 23:52
35. 参数的使用(1) 20:00
36. 参数的使用(2) 11:34
37. 参数的使用(3) 23:56
38. 参数的使用(4) 16:57
39. 用代码来阐述(1) 16:35
40. 用代码来阐述(2) 10:41
41. 好的注释(1) 5:25
42. 好的注释(2) 8:08
43. 坏注释 17:04
44. 格式的目的 5:56
45. 垂直格式(1) 8:50
46. 垂直格式(2) 9:17
47. 水平格式 14:26
48. 团队规则 5:25
49. 异常处理的方式 5:29
50. 定义异常类型以及常规流程(1) 6:48
51. 定义异常类型以及常规流程(2) 18:03
52. 定义异常类型以及常规流程(3) 6:06
53. 定义异常类型以及常规流程(4) 17:32
54. 别返回null与传递null值(1) 4:36
55. 别返回null与传递null值(2) 3:32
56. 字段的使用(1) 18:43
57. 字段的使用(2) 28:23
58. 字段的使用(3) 19:59
59. 对象的应用(1) 13:50
60. 对象的应用(2) 18:08
61. 对象的应用(3) 14:31
62. 对象的应用(4) 13:12
63. 对象的应用(5) 6:26
64. 对象的应用(6) 4:47
65. 单双向关联的使用(1) 12:24
66. 单双向关联的使用(2) 5:43
67. 魔法数以及类型码的使用(1) 23:50
68. 魔法数以及类型码的使用(2) 9:10
69. 魔法数以及类型码的使用(3) 13:19
70. 魔法数以及类型码的使用(4) 23:48
71. 分解合并条件表达式(1) 10:58
72. 分解合并条件表达式(2) 18:53
73. 分解合并条件表达式(3) 4:06
74. 移出控制标记 17:01
75. 以卫语句取代嵌套条件表达式(1) 16:58
76. 以卫语句取代嵌套条件表达式(2) 10:51
77. 以多态取代条件表达式 19:38
78. 引入null对象和断言(1) 23:23
79. 引入null对象和断言(2) 11:02
80. 引入null对象和断言(3) 9:04
81. 字段和函数的移动(1) 20:50
82. 字段和函数的移动(2) 14:16
83. 字段和函数的移动(3) 2:59
84. 字段和函数的移动(4) 14:01
85. 提炼子类、超类和接口(1) 12:47
86. 提炼子类、超类和接口(2) 9:41
87. 提炼子类、超类和接口(3) 20:27
88. 提炼子类、超类和接口(4) 16:42
89. 提炼子类、超类和接口(5) 5:55
90. 继承和委托的使用(1) 16:20
91. 继承和委托的使用(2) 2:25
92. 继承和委托的使用(3) 11:21
93. 继承和委托的使用(4) 8:36
94. 继承和委托的使用(5) 11:12
95. 继承和委托的使用(6) 12:39
96. 继承和委托的使用(7) 11:21
第2章:案例部分讲解
1. 案例:案例说明 8:59
2. 案例:重构前上架影片 18:28
3. 案例:输出html格式消费清单(1) 9:32
4. 案例:输出html格式消费清单(2) 17:53
5. 案例:输出html格式消费清单(3) 13:37
6. 案例:输出html格式消费清单(4) 12:32
7. 案例:输出html格式消费清单(5) 14:27
8. 案例:重构后上架影片 20:16
9. 案例:代码走查(1) 15:21
10. 案例:代码走查(2) 21:27
11. 案例:代码走查(3) 11:56
12. 案例:代码出现坏味道(1) 22:08
13. 案例:代码出现坏味道(2) 10:34
14. 案例:代码出现坏味道(3) 14:20
15. 案例:代码重构(1) 19:36
16. 案例:代码重构(2) 3:35
17. 案例:代码重构(3) 18:57
18. 案例:代码重构4) 14:23
大家可以点击【 查看详情】查看我的课程