Android Studio 技巧之【Extract Parameter】

    xiaoxiao2021-03-25  146

    快捷键:

    Ctrl + Alt + P (Windows/Linux上)

    Cmd + Alt + P (OS X)

    Android Studio 里抽取参数(Extract Parameter)的快捷方式。

    菜单调用:

    Menu → Refactor → Extract → Parameter。

    描述:

    将方法中的一个变量提取转换为方法的一个参数,生成一个新的方法。

    原来的变量值放到方法调用的地方,作为传进来的参数。

    还可以保留原来的方法,用重载的方式生成一个新的方法。

    使用:

    在写代码,有时需要将方法中的一个变量提取转换为方法的一个参数,就可以使用Ctrl + Alt + P (Windows/Linux上)快捷键。

    看下图:

    现在要把getErrorMessage方法中定义的变量errorCode提取为该方法的一个参数。

    1.将光标定位到errorCode上。按Ctrl + Alt + P. 出现下图画面。

    2.在红框中是将要抽取的参数名,这里系统自动给出的是errorCode, 和原变量名一样。如果需要,我们可以修改. 在图上还有一个CheckBox可以选,如果选择,则是表示,我们要用重载的方式生成一个新的方法(Delegate via overloading Method)。这里我们不选,只是要将errorCode变量抽取为参数,让原来的不带参数的getErrorMessage()变成带参数的getErrorMessage(String errorCode)的方法,所以直接按Enter。

    从上图可以看到, 原来的getErrorMessage()方法变成了 getErrorMessage(String errorCode)。Android Studio将errorCode抽取为该方法的参数。

    注意 :

    原来的showMessage方法里的对getErrorMessage()的调用,Android Studio也自动为我们改为getErrorMessage(“101”)。 这样就保证了,修改了这个方法的定义后,所有对原方法的调用也都做相应的修改。

    现在,再看一下用重载的方式抽取参数是什么样。这次我们将变量errorName也抽取为参数。

    1.将光标定位到errorName上,按Ctrl + Alt + P。

    这里可以直接点击Delegate via overloading method前面的CheckBox,也可以按 照屏幕上提示 - Press Ctrl+Alt+P to show dialog with more option, 继续按Ctrl + Alt + P” 。

    这里我们按Ctrl + Alt + P。出现下面弹窗。

    2.点击Delegate via overloading method前面的CheckBox。

    3.点击Refactor键

    可以看到,有一个新的可以传入errorCode和errorName的两个参数的getErrorMessage方法生成了。而刚才生成的只带一个errorCode的getErrorMessage方法继续保留了下来。而相应的调用代码也做了相应的改动。最原先的程序功能一点都没有改变!

    动画演示:

    总结

    如果要将方法中的变量抽取为方法的参数,将光标定位到该变量,按Ctrl + Alt + P(Windows/Linux上) ,Cmd + Alt + P(OS X),然后给出参数名即可。可以根据需要用重载的方式生成一个新的方法,同时保留原来的方法。

    更多Android Studio技巧

    Android Studio 技巧之【Extract Constant】

    Android Studio 技巧之【Extract Method】

    Android Studio技巧之【Extract Field】

    Android Studio技巧之快速抽取变量【Extract Variable】

    Android Studio技巧之【Extract Resource】

    转载请注明原文地址: https://ju.6miu.com/read-1506.html

    最新回复(0)