Eclipse菜单栏 source Refactor详解
生活随笔
收集整理的這篇文章主要介紹了
Eclipse菜单栏 source Refactor详解
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
+source
- Format: 這個(gè)操作項(xiàng)是我一直推薦的, 非常方便, 比如你寫了段格式很爛的代碼, 亂七八糟的, 那你就選擇這項(xiàng),你會(huì)發(fā)覺, 哇~~, 我的代碼怎么一下子變漂亮了, 不信你可以試試, 快捷鍵是"Ctrl+Shift+F", 所以我現(xiàn)在都養(yǎng)成習(xí)慣了,寫一會(huì)兒代碼,就c+s+f一下, 呵呵,很方便的.
- Sort Member: 這個(gè)不是很常用,但是如果你覺得代碼太長(zhǎng),老是找不到函數(shù),,也可以試試. 他會(huì)幫你把你寫的函數(shù),變量重新排序
- Organize Import: 這個(gè)功能也是一個(gè)不用不爽的功能, 比如你編一個(gè)項(xiàng)目,發(fā)現(xiàn)有很多import都沒有用到,或者說你引用了一個(gè)類,但是你沒有import,結(jié)果編譯不通過, 那都沒關(guān)系, 一用這個(gè),所有的問題迎刃而解. 至少我用這個(gè)之后, 就從來沒有寫過import這類語句了. 快捷鍵是"Ctrl+Shift+O(是字母O,不是數(shù)字0)", 我經(jīng)常把這個(gè)和c+s+f一起用, 呵呵,人也變懶了不少
- Override/Implement Method: 這個(gè)比如你寫一個(gè)類, 實(shí)現(xiàn)了某一個(gè)接口,但是你還沒有實(shí)現(xiàn)那個(gè)接口的函數(shù), 那就用這個(gè),它會(huì)自動(dòng)搜索父類和接口的方法,你可以選擇要覆蓋還是實(shí)現(xiàn)哪些函數(shù)
- Generate Delegating Method: 如果某一個(gè)field要生成代理函數(shù),用這個(gè)把,選一下就ok
- Add Javadoc Comment: 點(diǎn)中某一個(gè)你想要加javadoc的函數(shù)或類或變量,然后選這項(xiàng),它會(huì)自動(dòng)幫你加好javadoc的頭,包括你用的那些param或return
- surround with try/catch block: 比如你有一段代碼要處理某些exception,可你又忘了用try/catch來寫,別急,選中那段代碼,然后選這項(xiàng),你會(huì)發(fā)覺它會(huì)自動(dòng)針測(cè)你這段代碼里要拋出哪些exception,并且自動(dòng)生成好所有代碼
- externalize string: 這個(gè)是在做國際化的時(shí)候用的,簡(jiǎn)單的說,就是把string包在resource bundle里, 這也是i18n的一個(gè)解決方案,我想我以后會(huì)詳細(xì)介紹這方面的東西.
打開菜單
+ Refactor
- Rename: 如果你寫了一個(gè)類,你發(fā)覺這個(gè)類某個(gè)類變量的名字起的不太好聽, 你覺得不爽, 于是你就想改名字, 那怎么改呢, 就把那個(gè)變量名改了? 呵呵,沒那么簡(jiǎn)單,因?yàn)槟氵@個(gè)變量如果已經(jīng)在某些函數(shù)里引用到,那編譯要出錯(cuò)了, 而且你根本就不知道你哪里引用了, 寫了那么多代碼,腦子都暈了, 那不是死菜了嗎? 別緊張, 用這個(gè)rename可以幫你解決一切問題, 它不僅可以幫你把變量的名字改了,而且它還會(huì)自動(dòng)搜尋所有這個(gè)變量被引用到的地方,然后把那些地方也一起改了, 爽不爽啊, 給你省了很大的勞動(dòng)力不是.
- Move: 同樣, 要移動(dòng)一個(gè)實(shí)現(xiàn)了的靜態(tài)函數(shù)或變量到別的類的話,用這個(gè)移動(dòng), 保證不出錯(cuò)
- Modify Method Signature: 你設(shè)計(jì)函數(shù)不可能一下子就定型的,比如你一開始這個(gè)函數(shù)有一個(gè)參數(shù),后來發(fā)覺不對(duì),要用兩個(gè), 那你就要用這個(gè)來改, 這樣它還會(huì)搜尋所有已經(jīng)引用這個(gè)函數(shù)的地方, 并且把這些應(yīng)用的地方也改掉,否則編譯也
要出錯(cuò)的
- Extract Interface: 它可以幫你把一個(gè)類抽象成一個(gè)接口, 規(guī)范你的代碼
- Extract Method: 如果你寫了一段很長(zhǎng)的函數(shù), 但是這個(gè)函數(shù)有些代碼有重復(fù)利用性, 你就可以把給分割出來, 選中那段代碼,然后選這項(xiàng),系統(tǒng)會(huì)問你抽出來的函數(shù)的定義, 然后它就會(huì)生成這段函數(shù),把實(shí)現(xiàn)從原來函數(shù)那里抽出來,并在原來函數(shù)那里寫一個(gè)對(duì)這個(gè)新函數(shù)的引用,以保證程序不變性.
- Extract Local Variable: 如果你發(fā)覺你函數(shù)里有些值都是通過一樣的表達(dá)式得到的,你就可以通過這項(xiàng)把這段表達(dá)式變成一個(gè)變量,并且把這個(gè)變量替換到引用到表達(dá)式的地方
- Extract Constant: 抽取常量, 比如一個(gè)string= "eclipse", 你覺得很多地方要用到, 那就抽出來變成一個(gè)常量ECLIPSE, 就這么簡(jiǎn)單
- convert local variable to field : 這個(gè)看名字就知道, 不多說了
- encapsulate field: 這個(gè)和生成getter,setter有點(diǎn)類似, 但是不同的在于,如果你有一個(gè)public的常量 var,并且已經(jīng)在別處引用到了, 那你用生成getter,setter肯定有問題, 因?yàn)橐玫牡胤經(jīng)]改過來, 用這個(gè)的話,不僅會(huì)生成getter,
setter,而且還會(huì)改掉所有引用的地方, 比如把var = ...;的地方改成setvar(...), 把 ... = var地方改成 ... = getvar();
- Format: 這個(gè)操作項(xiàng)是我一直推薦的, 非常方便, 比如你寫了段格式很爛的代碼, 亂七八糟的, 那你就選擇這項(xiàng),你會(huì)發(fā)覺, 哇~~, 我的代碼怎么一下子變漂亮了, 不信你可以試試, 快捷鍵是"Ctrl+Shift+F", 所以我現(xiàn)在都養(yǎng)成習(xí)慣了,寫一會(huì)兒代碼,就c+s+f一下, 呵呵,很方便的.
- Sort Member: 這個(gè)不是很常用,但是如果你覺得代碼太長(zhǎng),老是找不到函數(shù),,也可以試試. 他會(huì)幫你把你寫的函數(shù),變量重新排序
- Organize Import: 這個(gè)功能也是一個(gè)不用不爽的功能, 比如你編一個(gè)項(xiàng)目,發(fā)現(xiàn)有很多import都沒有用到,或者說你引用了一個(gè)類,但是你沒有import,結(jié)果編譯不通過, 那都沒關(guān)系, 一用這個(gè),所有的問題迎刃而解. 至少我用這個(gè)之后, 就從來沒有寫過import這類語句了. 快捷鍵是"Ctrl+Shift+O(是字母O,不是數(shù)字0)", 我經(jīng)常把這個(gè)和c+s+f一起用, 呵呵,人也變懶了不少
- Override/Implement Method: 這個(gè)比如你寫一個(gè)類, 實(shí)現(xiàn)了某一個(gè)接口,但是你還沒有實(shí)現(xiàn)那個(gè)接口的函數(shù), 那就用這個(gè),它會(huì)自動(dòng)搜索父類和接口的方法,你可以選擇要覆蓋還是實(shí)現(xiàn)哪些函數(shù)
- Generate Delegating Method: 如果某一個(gè)field要生成代理函數(shù),用這個(gè)把,選一下就ok
- Add Javadoc Comment: 點(diǎn)中某一個(gè)你想要加javadoc的函數(shù)或類或變量,然后選這項(xiàng),它會(huì)自動(dòng)幫你加好javadoc的頭,包括你用的那些param或return
- surround with try/catch block: 比如你有一段代碼要處理某些exception,可你又忘了用try/catch來寫,別急,選中那段代碼,然后選這項(xiàng),你會(huì)發(fā)覺它會(huì)自動(dòng)針測(cè)你這段代碼里要拋出哪些exception,并且自動(dòng)生成好所有代碼
- externalize string: 這個(gè)是在做國際化的時(shí)候用的,簡(jiǎn)單的說,就是把string包在resource bundle里, 這也是i18n的一個(gè)解決方案,我想我以后會(huì)詳細(xì)介紹這方面的東西.
打開菜單
+ Refactor
- Rename: 如果你寫了一個(gè)類,你發(fā)覺這個(gè)類某個(gè)類變量的名字起的不太好聽, 你覺得不爽, 于是你就想改名字, 那怎么改呢, 就把那個(gè)變量名改了? 呵呵,沒那么簡(jiǎn)單,因?yàn)槟氵@個(gè)變量如果已經(jīng)在某些函數(shù)里引用到,那編譯要出錯(cuò)了, 而且你根本就不知道你哪里引用了, 寫了那么多代碼,腦子都暈了, 那不是死菜了嗎? 別緊張, 用這個(gè)rename可以幫你解決一切問題, 它不僅可以幫你把變量的名字改了,而且它還會(huì)自動(dòng)搜尋所有這個(gè)變量被引用到的地方,然后把那些地方也一起改了, 爽不爽啊, 給你省了很大的勞動(dòng)力不是.
- Move: 同樣, 要移動(dòng)一個(gè)實(shí)現(xiàn)了的靜態(tài)函數(shù)或變量到別的類的話,用這個(gè)移動(dòng), 保證不出錯(cuò)
- Modify Method Signature: 你設(shè)計(jì)函數(shù)不可能一下子就定型的,比如你一開始這個(gè)函數(shù)有一個(gè)參數(shù),后來發(fā)覺不對(duì),要用兩個(gè), 那你就要用這個(gè)來改, 這樣它還會(huì)搜尋所有已經(jīng)引用這個(gè)函數(shù)的地方, 并且把這些應(yīng)用的地方也改掉,否則編譯也
要出錯(cuò)的
- Extract Interface: 它可以幫你把一個(gè)類抽象成一個(gè)接口, 規(guī)范你的代碼
- Extract Method: 如果你寫了一段很長(zhǎng)的函數(shù), 但是這個(gè)函數(shù)有些代碼有重復(fù)利用性, 你就可以把給分割出來, 選中那段代碼,然后選這項(xiàng),系統(tǒng)會(huì)問你抽出來的函數(shù)的定義, 然后它就會(huì)生成這段函數(shù),把實(shí)現(xiàn)從原來函數(shù)那里抽出來,并在原來函數(shù)那里寫一個(gè)對(duì)這個(gè)新函數(shù)的引用,以保證程序不變性.
- Extract Local Variable: 如果你發(fā)覺你函數(shù)里有些值都是通過一樣的表達(dá)式得到的,你就可以通過這項(xiàng)把這段表達(dá)式變成一個(gè)變量,并且把這個(gè)變量替換到引用到表達(dá)式的地方
- Extract Constant: 抽取常量, 比如一個(gè)string= "eclipse", 你覺得很多地方要用到, 那就抽出來變成一個(gè)常量ECLIPSE, 就這么簡(jiǎn)單
- convert local variable to field : 這個(gè)看名字就知道, 不多說了
- encapsulate field: 這個(gè)和生成getter,setter有點(diǎn)類似, 但是不同的在于,如果你有一個(gè)public的常量 var,并且已經(jīng)在別處引用到了, 那你用生成getter,setter肯定有問題, 因?yàn)橐玫牡胤經(jīng)]改過來, 用這個(gè)的話,不僅會(huì)生成getter,
setter,而且還會(huì)改掉所有引用的地方, 比如把var = ...;的地方改成setvar(...), 把 ... = var地方改成 ... = getvar();
總結(jié)
以上是生活随笔為你收集整理的Eclipse菜单栏 source Refactor详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 再谈 Java中Runnable和Thr
- 下一篇: 关于反射的完整 练习