不论用户提出什么方案,你唯一能够获得的邦正就是他们一定会在6个月之内再次修改它。
重构之前首先检查自己时候有一套可靠的测试机制,这些测试必须有自我检测能力。 游戏代码怎么进行自测??
- 第一个步骤是找出代码的逻辑泥团,并运用Extract method。
- move method,移动方法,将方法放到它该去的地方,比如它用的数据全是A类的,那它应该属于A的方法
- Replace temp with query,用方法请求代替临时变量。但是这样可能会有性能问题。可以在方法里进行缓存。
可以运用多态取代与价格相关的条件逻辑;将switch或者if改为多态
将Rental的getCharge移动到movie
将switch用多态代替。
- replace type code with state/strategy.用策略模式或者state模式替代类型参数。
- replace conditional with Polymorphism。用多态代替条件判断。
- form template method,行成模板函数
- self Encapsulate field,自我领域封装。确保自己什么时候都可以通过取值函数和设置函数来访问类型代码。