博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重构具有相似“过程”的代码的经验总结(以方法为例)
阅读量:6969 次
发布时间:2019-06-27

本文共 453 字,大约阅读时间需要 1 分钟。

假如有方法A、B、C具有相同的过程a、b、e、g,但过程c、d、f、h却不相同。

 

重构可选步骤:

1、建立一个新的类:Base,并建立一个新的方法Method。

2、将A方法中的代码复制到Method中,并分解其中的代码为a、b、c、d、e、f、g、h几个小方法(如果有临时变量分解起来会有点麻烦),并在Method中依次调用。

3、处理c、d、f、h方法,将其访问类型设置为public,并设置为虚方法。

4、分别建立A、B、C三个类,并在类中重写相应的c、d、f、h方法。

 

关于输入输出类型,在类库级别的东西,我觉得最理想的是宽进宽出,而应用层宽进窄出会更加简单方便使用。

而上面中的方法h,如有其具有返回值,其返回值可以为object类型,并在最贴近返回值的位置进行类型检查,如有有发现类型不对立即抛出异常,并不捕获。

 

重构思想源于:《重构:改善既有代码的设计》

 

 

转载于:https://www.cnblogs.com/08shiyan/archive/2013/04/07/3003394.html

你可能感兴趣的文章
@angular/cli项目构建--httpClient
查看>>
如何测试Nginx的高性能
查看>>
光棍节游戏
查看>>
java线程之一 单线程
查看>>
node学习笔记
查看>>
ts 使用Visual Studio2012和TFS网站管理源代码
查看>>
Agreement has been updated--Edit Phone Number最便捷解决办法(不需要安全提示问题和双重认证)...
查看>>
ImportError: No module named mysql 报错python引用mysql报错
查看>>
【luogu 1962】斐波那契数列
查看>>
团队冲刺站立会议01
查看>>
Java的类加载
查看>>
坐标系转换
查看>>
CSS3 Animation
查看>>
Jsp注册页面身份证验证
查看>>
hdu 1011(树形dp)
查看>>
学习微信小程序之css15解决父盒子高度塌陷
查看>>
Leetcode_638.Shopping Offers
查看>>
LC.35.Search Insert Position
查看>>
Spring的bean创建详解
查看>>
Python偏函数实例
查看>>