五. 提取一个方法
让我们考虑一种典型的情形。你开始编写一个很长的方法-它包含一些非常复杂的算法集合。在完成该方法以后,你可能意识到它变得太大和太复杂了,以至于其它小组成员无法容易地理解它。因此,你决定把它拆分成多个小函数。这不仅会简化你的代码而且还能够改进其易读和可维护性。"Refactor"菜单下的"Extract Method"选项正是适合这一工作。
为了使用这个菜单选项,你必须选择你想分离为一个方法的代码块,然后点击"Extract Method"菜单选项。下图展示了"Extract Method"对话框。
一旦你输入了要创建的新方法的名字并且点击OK,那么它为你完成两件事情:
· 它根据你的每一次选择创建一个新的方法并且替换其中的所有选择的代码
· 它用一个到这个新创建方法的调用来替换选择的行
六. 创建包装类级变量的属性 让我们接受这样的事实-许多开发者都习惯把类级变量(字段)暴露给外界。由于每一个对象都属于面向对象编程,所以开发者应该允许通过属性或方法来存取变量。这种情况可以使用Refactor菜单下的"Encapsulate Field"选项来进行处理。
为此,选择你想包装在一个属性中的类级变量并且选择"Encapsulate Field"选项。这将打开一个如下图所示的对话框:
你需要输入该属性的名字并且决定是否你想从类外或类内部更新到该变量的参考。就象"Rename"对话框一样,你可以在应用之前先预览一下所作的改变。