ivaneeo's blog

自由的力量,自由的生活。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
    • 作法(Mechanics)
    • 检查函数,确定它不具多态性(is not polymorphic).==>如果subclass继承了这个函数,就不要将此函数inline化,因为subclass无法覆写(override)一个根本不存在的函数.
    • 找出这个函数的所有被调用点.
    • 将这个函数的所有被调用点都替换为函数本体(代码).
    • 编译,测试.
    • 删除该函数的定义.

被我这样一写,Inline Method(117)似乎很简单.但情况往往并非如此.对于递归调用,多返回点,inline至另一个对象中而该对象并无提供访问函数(accessors)......,每一种情况我都可以写上好几页.我之所以不写这些特殊情况,原因很简单:如果你遇到了这样的复杂情况,那么就不应该使用这个重构手法.

posted on 2005-08-24 17:28 ivaneeo 阅读(189) 评论(0)  编辑  收藏 所属分类: refactoring-从地狱中重生

只有注册用户登录后才能发表评论。


网站导航: