读书人

Hide Method(掩藏方法)

发布时间: 2012-11-15 15:16:13 作者: rapoo

Hide Method(隐藏方法)
WHAT

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

?

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

?

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

?

WHEN
    当在另一个类中去除对这个public方法的调用时过度设计,这个public方法从来没有被其他任何类调用过
HOW最初的代码
package hide.method;public class SomeClass {public void someMethod() {// do something}}
重构步骤重构之前,检查方法调用情况:选中该方法,使用快捷键(Ctrl + Alt + H)或者上下文菜单(Open Call Hierarchy?),检查该public方法的调用层次,如果该public方法有被其他类调用,就不能应用该重构
Hide Method(掩藏方法)
?
?
Hide Method(掩藏方法)
?更改方法签名:选中该方法,使用快捷键(Alt + Shitf + C)或者上下文菜单(Refactor -> Change Method Signature ...?),弹出”Change Method Signature?“对话框Hide Method(掩藏方法)

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

Hide Method(掩藏方法)
?这样,该public方法就变成private了,代码如下:

package hide.method;public class SomeClass {private void someMethod() {// do something}}
至此,本次重构并未结束,因为未使用的private方法,没有任何存在价值删除private方法,本次重构结束方法一:鼠标悬浮在方法上面,在弹出的Quick Fix窗口中,点击“Remove method ‘someMethod’”
Hide Method(掩藏方法)
?方法二:鼠标点击左侧的黄色警告小球按钮,?在弹出的Quick Fix窗口中,点击“Remove method ‘someMethod’”,该窗口并有预览功能,这是一个不错的首选方法
Hide Method(掩藏方法)
?方法三:使用快捷键(Ctrl + 1),在弹出的Quick Fix窗口中,点击“Remove method ‘someMethod’”
Hide Method(掩藏方法)重构后的代码

?

package hide.method;public class SomeClass {}

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

1 楼 steven0lisa 2012-09-10 学习了。不过在有动态代码生成的项目中,就要谨慎用了。

读书人网 >软件架构设计

热点推荐