代码的坏味道之十三 :Speculative Generality(夸夸其谈未来性)

这个令我们十分敏感的坏味道,命名者是Brian Foote。当有人说『噢,我想我们总有一天需要做这事』并因而企图以各式各样的挂勾(hooks)和特殊情况来处理一 些非必要的事情,这种坏味道就出现了。那么做的结果往往造成系统更难理解和维护。如果所有装置都会被用到,那就值得那么做;如果用不到,就不值得。用不上的装置只会挡你的路,所以,把它搬开吧。

如果你的某个abstract class其实没有太大作用,请运用Collapse Hierarchy(折叠继承关系)。非必要之delegation (委托)可运用Inline Class(将类内联化) 除掉。如果函数的某些参数未被用上,可对它实施 Remove Parameter(移除参数)。如果函数名称带有多余的抽象意味,应该对它实施Rename Method (重新命名函数)让它现实一些。

如果函数或class的惟一用户是test cases (测试用例),这就飘出了坏味道Speculative Generality。如果你发现这样的函数或class,请把它们连同其test cases都删掉。但如果它们的用途是帮助test cases检测正当功能,当然必须刀下留人。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值