国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

重構(gòu)與Intellij Idea初探

Forelax / 832人閱讀

摘要:是時(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

相關(guān)文章

  • 為什么選擇 Intellij IDEA 作為日常開發(fā)工具

    摘要:還記得剛開始學(xué)習(xí)編程的時(shí)候,使用作為日常開發(fā)工具。另外,保存的是當(dāng)前用戶的快捷鍵配置,保存的是默認(rèn)的快捷鍵配置若修改上一個(gè)注冊(cè)表不好使,那就把下面的默認(rèn)的也修改了。 作為一個(gè)從事 Java 開發(fā)的程序員,每天離不開編輯器的幫助。還記得剛開始學(xué)習(xí) Java 編程的時(shí)候,使用 Eclipse 作為日常開發(fā)工具。后來工作以后,需要使用 Intellij IDEA,剛開始其實(shí)并不想怎么用。畢竟...

    Amos 評(píng)論0 收藏0
  • IntelliJ IDEA 16預(yù)覽版更新內(nèi)容說明

    摘要:線程過去,跨過一個(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è)線程...

    iKcamp 評(píng)論0 收藏0
  • 玩轉(zhuǎn)IntelliJ IDEA

    摘要:是編程最好的,沒有之一,提供了很多強(qiáng)大的功能,而且顏值也很高,唯一美中不足的就是價(jià)格不菲,不過好在用教育郵箱可以免費(fèi)使用,每年授權(quán)一次。很多快捷鍵可以極大程度上提供我們的編碼效率,下面記錄了一些常用的快捷鍵。 IntelliJ IDEA是Java編程最好的IDE,沒有之一,提供了很多強(qiáng)大的功能,而且顏值也很高,唯一美中不足的就是價(jià)格不菲,不過好在用教育郵箱可以免費(fèi)使用,每年授權(quán)一次。 ...

    stackfing 評(píng)論0 收藏0
  • 第一部分:idea使用心得

    摘要:第一部分使用心得博客打算從簡(jiǎn)書遷移過來筆者本來是開發(fā)者,開始用的是,配置插件總是出現(xiàn)各種問題,特別是插件與插件總是讓人不舒服。在一個(gè)接口中要想跳轉(zhuǎn)到他的實(shí)現(xiàn)處,就要使用跳轉(zhuǎn)到父類。 第一部分:idea使用心得 博客打算從簡(jiǎn)書遷移過來 筆者本來是java開發(fā)者,開始用的是Eclipse,配置插件總是出現(xiàn)各種問題,特別是git插件與maven插件總是讓人不舒服。偶然間, 接觸了Intell...

    everfight 評(píng)論0 收藏0
  • IDEA使用總結(jié)

    摘要:就是下面這種情況我們想幫我們格式換行是這樣做的效果一次性導(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); 顯示工具條 我們要顯示工具條!...

    Java_oldboy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Forelax

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<