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