4006-998-758
3000+课程任你选择
高级编程-重构-Python
研发学院 高级编程 重构 Python 开课时间:2022-01-18
丁来强

世界跨国大数据公司EMC美国研发中心(2006-2011):历任软件开发工程师、高级软件开发工程师,高级架构师,大数据技术经理。

世界顶级大数据公司Splunk(2012-2015),历任美国Splunk上海研发中心高级架构师、高级研发经理。

国内Top云平台研发中心(2016—至今):大数据技术总监。

丁老师在以上3家公司工作10余年,主要从事云计算和大数据研发等工作,长期任职大数据平台的构建相关领域的产品研发工作,在大数据处理、大数据分布式并行计算,流式计算处理系统、数据可视化领域有丰富的实战项目经验。


查看老师详情
课程内容


课程大纲


以下内容较为丰富,实际讲解深度与覆盖,会根据现场大部分学员的经验和水平进行适当的调整:

(一)、重构原则

1. 重构的定义、作用、时机

2. 重构的挑战

3. 重构与设计

4. 重构与性能

 

(二)、坏的代码与解决之道

1.  重复代码

2.  过长函数

3.  过大的类

4.  过长参数列

5.  发散式变化

6.  霰弹式修改

7.  依恋情结

8.  数据泥团

9.  基本类型偏执

10.   大量if语句

11.   平行继承体系

12.   冗赘类

13.   过于泛化

14.   令人迷惑的暂时字段

15.   过度耦合的消息链

16.   中间人

17.   重复类

18.   不完美的库类

19.   纯数据类

20.   过多的注释

 

(三)、重新组织函数

1. 提炼函数

2. 以查询取代临时变量

3. 引入解释性变量

4. 分解临时变量

5. 移除对参数的赋值

6. 以函数对象取代函数

7. 替换算法

 

(四)、重现组织类

1. 搬移函数

2. 搬移字段

3. 提炼类

4. 将类内联化

5. 隐藏"委托关系"

6. 移除中间人

7. 引入外加函数

8. 引入本地扩展

 

(五)、重新组织数据

1. 自封装字段

2. 以对象取代数据值

3. 将值对象改为引用对象

4. 将引用对象改为值对象

5. 以对象取代数组

6. 复制"被监视数据"

7. 以字面常量取代魔法数

8. 封装字段

9. 封装集合

10. 以数据类取代记录

11. 以类取代类型码

12. 以子类取代类型码

13. 以State/Strategy取代类型码

14. 以字段取代子类

 

(六)、简化条件表达式

1. 分解条件表达式

2. 合并条件表达式

3. 合并重复的条件片段

4. 移除控制标记

5. 以卫语句取代嵌套条件表达式

6. 以多态取代条件表达式

7. 引入断言

 

(七)、简化函数调用

1. 函数改名

2. 添加参数

3. 移除参数

4. 将查询函数和修改函数分离

5. 令函数携带参数

6. 以明确函数取代参数

7. 保持对象完整

8. 以函数取代参数

9. 引入参数对象

10. 移除设值函数

11. 隐藏函数

12. 以工厂函数取代构造函数

13. 封装向下转型

14. 以异常取代错误码

15. 以测试取代异常

返回上一级