Hide Method(隐藏方法)

WHAT

隐藏方法是最简单、最基础的重构手法之一,当有一个public方法,没有被其他任何类用到,把这个public方法的访问修饰符改为private

本次重构涉及到一个基本的重构手法:

  1. Rename method,也即Change Method Signiture(更改方法签名,in Eclipse)

WHEN

  1. 当在另一个类中去除对这个public方法的调用时
  2. 过度设计,这个public方法从来没有被其他任何类调用过

HOW

最初的代码

package hide.method;

public class SomeClass {

	public void someMethod() {
		// do something
	}

}

重构步骤

  • 重构之前,检查方法调用情况:选中该方法,使用快捷键(Ctrl + Alt + H)或者上下文菜单(Open Call Hierarchy ),检查该public方法的调用层次,如果该public方法有被其他类调用,就不能应用该重构

     
     

     
  • 更改方法签名:选中该方法,使用快捷键(Alt + Shitf + C)或者上下文菜单(Refactor -> Change Method Signature ... ),弹出” Change Method Signature “对话框

 在该对话框中,更改方法的Access modifier为“private”,点击”OK“按钮即可


 这样,该public方法就变成private了,代码如下:

package hide.method;

public class SomeClass {

	private void someMethod() {
		// do something
	}

}
  • 至此,本次重构并未结束,因为未使用的private方法,没有任何存在价值
  • 删除private方法,本次重构结束
    • 方法一:鼠标悬浮在方法上面,在弹出的Quick Fix窗口中,点击“Remove method ‘someMethod’”

       
    • 方法二:鼠标点击左侧的黄色警告 小球按钮,  在弹出的Quick Fix窗口中,点击“Remove method ‘someMethod’”,该窗口并有预览功能,这是一个不错的首选方法

       
    • 方法三:使用快捷键(Ctrl + 1), 在弹出的Quick Fix窗口中,点击“Remove method ‘someMethod’”

重构后的代码

package hide.method;

public class SomeClass {

}

   如果这个类没有继承关系,且没有其他方法了,这个类的寿命,就该终结了,你可以毫不犹豫地把它删除(Delete)了

猜你喜欢

转载自tonglin.iteye.com/blog/1674427