《重构-改善既有代码的设计》Martin Fowler 摘要: 第十章 简化函数调用
改一个自表达的名字吧!骚年
某个函数需要从调用端得到更多信息。
为此函数添加一个对象参数,让该对象代价函数所需信息。并发编程大多数参数很长,不放在一个类中,因为这样你可以保证传递给函数的参数都是不可修改的。
移除不必要的某个参数
某个函数既返回对象状态值,又修改对象状态
建立两个函数,一个查,一个改。多线程一般查改一起,那么提供第三个方法调另两个。
若干函数做了类似的工作,但在函数本体中包含了不同的值
建立单一函数,以参数表达那些不同的值
以“可将少量数值视为参数”为依据,找出带有重复性的代码。提炼参数
你有一个函数,其中完全取决于参数值而采取不同行为
针对该参数的每一个可能只,建立一个独立函数。
你从某个对象去除若干值,将它们作为某一次函数调用时的参数
改为传递整个对象
对象调用某个函数,并将所得结果作为参数,传递给另一个函数。而接受该参数的函数本身也能够调用前一个函数。
让参数接受者去除该项参数,并直接调用前一个函数。
某些参数总是很自然地同时出现。
以一个对象取代这些参数。
还可以适当的行为从其他函数移到这个新建对象中。
类中某个字段应该在对象创建时被设置,然后就不再改变。
没有被其他任何类用到
希望创建对象时不仅仅是做简单的构建动作
某个函数返回的对象,需要由函数调用者执行向下转型
将向下转型动作移到函数中
面对一个调用者可以预先检查的条件,你抛出了一个异常
修改调用者,使它在调用函数之前先做检查
原文地址:http://blog.csdn.net/tanxiang21/article/details/29556215