代码坏的味道07:依恋情结(Feature Envy)

  函数对某个类的兴趣高过对自己所处的类,通常的焦点就是数据,某个函数为了计算某个值,从另一个对象那儿调用几乎半打的取值函数。这时一个运用 Move Method (搬移函数)把它移到自己该去的地方。有时候函数中只有一部分受这种依恋之苦,这时候使用Extract Method (提炼函数)把这部分提炼到独立函数中,再使用Move Method (搬移函数)带它去它的梦中家园。

         一个函数往往会用到几个类的功能,那么它究竟该被置与何处呢?原则:判断哪个类拥有最多被此函数使用的数据,然后就把这个函数和那些数据摆在一起。如果先以Extract Method (提炼函数)将这个函数分解为数个较小函数并分别置于不同地点,上述步骤就比较容易完成了。

你可能感兴趣的:(代码)