Hide Method(隐藏方法)
WHAT
隐藏方法是最简单、最基础的重构手法之一,当有一个public方法,没有被其他任何类用到,把这个public方法的访问修饰符改为private。
?
本次重构涉及到一个基本的重构手法:
?
- Rename method,也即Change Method Signiture(更改方法签名,in Eclipse)
?
WHEN- 当在另一个类中去除对这个public方法的调用时过度设计,这个public方法从来没有被其他任何类调用过
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 {}
???如果这个类没有继承关系,且没有其他方法了,这个类的寿命,就该终结了,你可以毫不犹豫地把它删除—elete)了
1 楼 steven0lisa 2012-09-10 学习了。不过在有动态代码生成的项目中,就要谨慎用了。