摘要:是時(shí)候討論這個(gè)利器了,最初看到這個(gè)重構(gòu)的過程是從鄭大曄校開始的,只是之前對(duì)于的另外一個(gè)編輯器的壞感。。這些在目前已經(jīng)不是很重要了,試試這個(gè)公司里面應(yīng)用廣泛的編輯器。開發(fā)過程開發(fā)的流程大致就是這樣子的,測(cè)試先行算是推薦的。
是時(shí)候討論這個(gè)Refactor利器了,最初看到這個(gè)重構(gòu)的過程是從ThoughtWorks鄭大曄校開始的,只是之前對(duì)于Java的另外一個(gè)編輯器Eclipse的壞感。。這些在目前已經(jīng)不是很重要了,試試這個(gè)公司里面應(yīng)用廣泛的編輯器。
開發(fā)過程開發(fā)的流程大致就是這樣子的,測(cè)試先行算是推薦的。
編寫測(cè)試->功能代碼->修改測(cè)試->重構(gòu)
上次在和buddy聊天的時(shí)候,才知道測(cè)試在功能簡(jiǎn)單的時(shí)候是后行的,在功能復(fù)雜不知道怎么手手的時(shí)候是先行的。
Interllij Idea重構(gòu)開始之前請(qǐng)?jiān)徫覍?duì)于Java語言的一些無知,然后,看一下我寫的Main函數(shù):
package com.phodal.learing; public class Main { public static void main(String[] args) { int c=new Cal().add(1,2); int d=new Cal2().sub(2,1); System.out.println("Hello,s"); System.out.println(c); System.out.println(d); } }
代碼寫得還好(自我感覺),先不管Cal和Cal2兩個(gè)類。大部分都能看懂,除了c,d不知道他們表達(dá)的是什么意思,于是。
Rename快捷鍵:Shift+F6
作用:重命名
把光標(biāo)丟到int c中的c,按下shift+f6,輸入result_add
把光標(biāo)移到int d中的d,按下shift+f6,輸入result_sub
于是就有
package com.phodal.learing; public class Main { public static void main(String[] args) { int result_add=new Cal().add(1,2); int result_sub=new Cal2().sub(2,1); System.out.println("Hello,s"); System.out.println(result_add); System.out.println(result_sub); } }Extract Method
快捷鍵:alt+command+m
作用:擴(kuò)展方法
選中System.out.println(result_add);
按下alt+command+m
在彈出的窗口中輸入mprint
于是有了
public static void main(String[] args) { int result_add=new Cal().add(1,2); int result_sub=new Cal2().sub(2,1); System.out.println("Hello,s"); mprint(result_add); mprint(result_sub); } private static void mprint(int result_sub) { System.out.println(result_sub); }
似乎我們不應(yīng)該這樣對(duì)待System.out.println,那么讓我們內(nèi)聯(lián)回去
Inline Method快捷鍵:alt+command+n
作用:內(nèi)聯(lián)方法
選中main中的mprint
alt+command+n
選中Inline all invocations and remove the method(2 occurrences) 點(diǎn)確定
然后我們等于什么也沒有做了~~:
public static void main(String[] args) { int result_add=new Cal().add(1,2); int result_sub=new Cal2().sub(2,1); System.out.println("Hello,s"); System.out.println(result_add); System.out.println(result_sub); }
似乎這個(gè)例子不是很好,但是夠用來說明了。
Pull Members Up開始之前讓我們先看看Cal2類:
public class Cal2 extends Cal { public int sub(int a,int b){ return a-b; } }
以及Cal2的父類Cal
public class Cal { public int add(int a,int b){ return a+b; } }
最后的結(jié)果,就是將Cal2類中的sub方法,提到父類:
public class Cal { public int add(int a,int b){ return a+b; } public int sub(int a,int b){ return a-b; } }
而我們所要做的就是鼠標(biāo)右鍵
Refactor->Pull Members Up
Pull Members Down將方法推遲到子類
其他正在補(bǔ)充學(xué)習(xí)中
結(jié)論Intellij Idea自帶的重構(gòu)功能似乎真的很強(qiáng)大,其他目前感覺很強(qiáng)大的東西,比如Live Template,丟到下次討論。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/64208.html
摘要:還記得剛開始學(xué)習(xí)編程的時(shí)候,使用作為日常開發(fā)工具。另外,保存的是當(dāng)前用戶的快捷鍵配置,保存的是默認(rèn)的快捷鍵配置若修改上一個(gè)注冊(cè)表不好使,那就把下面的默認(rèn)的也修改了。 作為一個(gè)從事 Java 開發(fā)的程序員,每天離不開編輯器的幫助。還記得剛開始學(xué)習(xí) Java 編程的時(shí)候,使用 Eclipse 作為日常開發(fā)工具。后來工作以后,需要使用 Intellij IDEA,剛開始其實(shí)并不想怎么用。畢竟...
摘要:線程過去,跨過一個(gè)線程意味著要恢復(fù)所有的其他線程,而版開始只需要恢復(fù)當(dāng)前線程即可??焖偎阉餍掳姹靖倪M(jìn)了快速搜索的彈出菜單,會(huì)將搜索項(xiàng)高亮顯示。終于新增支持。 調(diào)試器 Groovy表達(dá)式 從16版開始,Evaluate Expression 和 Watches可以使用更短且更具表現(xiàn)力的Groovy表達(dá)式進(jìn)行調(diào)試,而Groovy表達(dá)式以前只能用于Groovy代碼。 線程 過去,跨過一個(gè)線程...
摘要:是編程最好的,沒有之一,提供了很多強(qiáng)大的功能,而且顏值也很高,唯一美中不足的就是價(jià)格不菲,不過好在用教育郵箱可以免費(fèi)使用,每年授權(quán)一次。很多快捷鍵可以極大程度上提供我們的編碼效率,下面記錄了一些常用的快捷鍵。 IntelliJ IDEA是Java編程最好的IDE,沒有之一,提供了很多強(qiáng)大的功能,而且顏值也很高,唯一美中不足的就是價(jià)格不菲,不過好在用教育郵箱可以免費(fèi)使用,每年授權(quán)一次。 ...
摘要:第一部分使用心得博客打算從簡(jiǎn)書遷移過來筆者本來是開發(fā)者,開始用的是,配置插件總是出現(xiàn)各種問題,特別是插件與插件總是讓人不舒服。在一個(gè)接口中要想跳轉(zhuǎn)到他的實(shí)現(xiàn)處,就要使用跳轉(zhuǎn)到父類。 第一部分:idea使用心得 博客打算從簡(jiǎn)書遷移過來 筆者本來是java開發(fā)者,開始用的是Eclipse,配置插件總是出現(xiàn)各種問題,特別是git插件與maven插件總是讓人不舒服。偶然間, 接觸了Intell...
摘要:就是下面這種情況我們想幫我們格式換行是這樣做的效果一次性導(dǎo)包一次性導(dǎo)包文件編碼寫中文數(shù)據(jù)可以編碼在默認(rèn)的情況下,在寫中文數(shù)據(jù)是不會(huì)幫我們編碼的。 IDEA常用設(shè)置 在我們第一眼看見IDEA是這個(gè)樣子的: showImg(https://segmentfault.com/img/remote/1460000013575242?w=1920&h=1040); 顯示工具條 我們要顯示工具條!...
閱讀 1262·2023-04-26 02:38
閱讀 946·2023-04-25 20:13
閱讀 3600·2021-11-19 11:31
閱讀 2405·2019-08-30 15:55
閱讀 2732·2019-08-30 14:11
閱讀 3173·2019-08-30 13:45
閱讀 1385·2019-08-29 18:41
閱讀 1159·2019-08-29 16:18