重构具有相似“过程”的代码的经验总结(以方法为例)

假如有方法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类型,并在最贴近返回值的位置进行类型检查,如有有发现类型不对立即抛出异常,并不捕获。

 

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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值