ivaneeo's blog

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

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
动机(Motivation)
有时候你会遇到某些函数,其内部代码和函数名称同样清晰易读.

另一种需要使用Inline Method(117)的情况是:你手上有一群组织不甚合理的函数.你可以将它们都inline到一个大型函数中,再从中提炼出组织合理的小型函数.Kent Beck发现,实施Replace Method with Method Object(135)之前先这么做,往往可以获得不错的效果.你可以把你所要的函数(有着你要的行为)的所有调用对象的函数内容都inline到method object(函数对象)中.比起既要移动一个函数,又要移动它所调用的其他所有函数,[将大型函数作为单一整体来移动]会比较简单.

如果别人使用了太多间接层,使得系统中的所有函数都似乎只是对另一个函数的简单委托(delegation),造成我在这些委托动作之间晕头转向,那么我通常都会使用Inline Method(117).当然,间接层有其价值,但不是所有间接层都有价值.试着使用inlining,我可以找出那些有用的间接层,同时将那些无用的间接层去除.
posted on 2005-08-24 17:12 ivaneeo 阅读(180) 评论(0)  编辑  收藏 所属分类: refactoring-从地狱中重生

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


网站导航: