Idea 抽取方法詳解

一、Idea抽取方法快捷鍵

Idea抽取方法快捷鍵是快速提取選中代碼塊並將其轉化為一個方法的快捷方式。快捷鍵可以大大提高代碼重構效率和速度。Idea默認的抽取方法快捷鍵是”Ctrl + Alt + M”,而且還可以自定義設置。


//默認抽取方法快捷鍵Ctrl + Alt + M
public void originalMethod(int parameter1, int parameter2) {
    System.out.println("The parameters are: " + parameter1 + ", " + parameter2);
}

//快捷鍵Ctrl + Alt + M後提取出的方法
public void extractedMethod(int parameter1, int parameter2) {
    System.out.println("The parameters are: " + parameter1 + ", " + parameter2);
}

在使用抽取方法快捷鍵時,Idea還提供了很多選項,比如抽取為內聯、抽取後移除變數、抽取為靜態等,可以根據需要進行選擇。

二、Idea方法被調用搜索

Idea提供了方法被調用搜索的功能。只需要選中一個方法,點擊滑鼠右鍵,選擇「Find Usages」或「Ctrl + Alt + F7」快捷鍵即可展示出方法被哪些地方調用。


public void calledMethod() {
    System.out.println("This method has been called.");
}

public static void main(String[] args) {
    calledMethod();
}

在方法”calledMethod”上右鍵,選擇”Find Usages”或者使用快捷鍵”Ctrl + Alt + F7″,就可以看到”calledMethod”被哪些地方調用。

三、Idea抽取方法有什麼用

Idea抽取方法有以下幾個用途:

1. 重複代碼封裝

有的時候我們會發現方法中有部分重複的代碼,可以使用Idea抽取方法將這些代碼封裝起來。


public void repeatedCode() {
    System.out.println("This is repeated code.");
    System.out.println("This is also repeated code.");
}

//重複代碼被抽取成為一個新方法
public void extractedRepeatedCode() {
    System.out.println("This is repeated code.");
    System.out.println("This is also repeated code.");
}

public void originalMethod() {
    extractedRepeatedCode();
    //其他代碼
}

public static void main(String[] args) {
    originalMethod();
}

2. 代碼可讀性提升

通過Idea抽取方法可以將一個複雜的方法轉化為多個簡單的方法,提高代碼的可讀性和可維護性。


public void complexMethod(int a, int b, int c) {
    //複雜的業務邏輯1
    System.out.println("The sum of a and b is: " + (a + b));
    //複雜的業務邏輯2
    if (c > 10) {
        System.out.println("c is greater than 10.");
    }
    //複雜的業務邏輯3
    System.out.println("The product of a and b is: " + (a * b));
}

//抽取出的業務邏輯1
public int sum(int a, int b) {
    return a + b;
}

//抽取出的業務邏輯2
public boolean greaterThan10(int c) {
    if (c > 10) {
        return true;
    }
    return false;
}

//抽取出的業務邏輯3
public int product(int a, int b) {
    return a * b;
}

//重構後的代碼
public void refactoredMethod(int a, int b, int c) {
    //簡單的方法調用
    int sum = sum(a, b);
    if (greaterThan10(c)) {
        System.out.println("c is greater than 10.");
    }
    int product = product(a, b);
    System.out.println("The sum of a and b is: " + sum);
    System.out.println("The product of a and b is: " + product);
}

public static void main(String[] args) {
    refactoredMethod(2, 3, 5);
}

3. 功能分離

通過Idea抽取方法可以將一個方法中的多個功能分離成多個方法,相互之間獨立,方便維護。


public void originalMethod(int a, int b, int c) {
    //功能1
    System.out.println("The sum of a and b is: " + (a + b));
    //功能2
    if (c > 10) {
        System.out.println("c is greater than 10.");
    }
    //功能3
    System.out.println("The product of a and b is: " + (a * b));
}

//功能1被抽取成為一個新方法
public void sum(int a, int b) {
    System.out.println("The sum of a and b is: " + (a + b));
}

//功能2被抽取成為一個新方法
public boolean greaterThan10(int c) {
    if (c > 10) {
        return true;
    }
    return false;
}

//功能3被抽取成為一個新方法
public void product(int a, int b) {
    System.out.println("The product of a and b is: " + (a * b));
}

//重構後的代碼
public void refactoredMethod(int a, int b, int c) {
    sum(a, b);
    if (greaterThan10(c)) {
        System.out.println("c is greater than 10.");
    }
    product(a, b);
}

public static void main(String[] args) {
    refactoredMethod(2, 3, 5);
}

四、Idea抽取方法快捷鍵用不了怎麼辦

有些Idea用戶可能會遇到抽取方法快捷鍵用不了的情況,主要原因是快捷鍵和其他操作衝突,可以通過以下方法解決:

1. 重置快捷鍵

在Idea設置中找到”Keymap”,搜索”Extract Method”,看看抽取方法的快捷鍵是否衝突,如果衝突則將其修改為別的快捷鍵。

2. 查看插件是否衝突

有些Idea插件可能會與抽取方法快捷鍵衝突,可以在插件設置中進行查看和禁用。

五、Idea抽取方法快捷鍵設置

在Idea中,用戶可以自定義抽取方法快捷鍵:

1. 打開Idea設置,搜索”Keymap”,在彈出的菜單中選擇”Idea Classic”;

2. 在搜索框中搜索”Extract Method”,可以看到抽取方法的快捷鍵設置;

3. 雙擊”Ctrl + Alt + M”,可以修改快捷鍵;

4. 點擊OK保存修改。

六、Eclipse抽取方法快捷鍵

Eclipse也有抽取方法快捷鍵,快捷鍵為”Alt + Shift + M”,使用方法和Idea類似。

七、Idea使用方法

Idea使用抽取方法有以下步驟:

1. 選中需要抽取的代碼片段;

2. 使用快捷鍵”Ctrl + Alt + M”抽取方法;

3. 在彈出的窗口中修改方法名、參數等信息;

4. 點擊OK保存並使用抽取的方法。

總之,Idea抽取方法可以用於將複雜代碼轉化為簡單易懂的形式,方便代碼閱讀和維護。同時,Idea還提供了很多其他的重構功能,可以盡情地發揮。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/243769.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:58
下一篇 2024-12-12 12:58

相關推薦

  • Idea新建文件夾沒有java class的解決方法

    如果你在Idea中新建了一個文件夾,卻沒有Java Class,應該如何解決呢?下面從多個方面來進行解答。 一、檢查Idea設置 首先,我們應該檢查Idea的設置是否正確。打開Id…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • 解決.net 6.0運行閃退的方法

    如果你正在使用.net 6.0開發應用程序,可能會遇到程序閃退的情況。這篇文章將從多個方面為你解決這個問題。 一、代碼問題 代碼問題是導致.net 6.0程序閃退的主要原因之一。首…

    編程 2025-04-29
  • Python創建分配內存的方法

    在python中,我們常常需要創建並分配內存來存儲數據。不同的類型和數據結構可能需要不同的方法來分配內存。本文將從多個方面介紹Python創建分配內存的方法,包括列表、元組、字典、…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • 使用Vue實現前端AES加密並輸出為十六進位的方法

    在前端開發中,數據傳輸的安全性問題十分重要,其中一種保護數據安全的方式是加密。本文將會介紹如何使用Vue框架實現前端AES加密並將加密結果輸出為十六進位。 一、AES加密介紹 AE…

    編程 2025-04-29
  • 用不同的方法求素數

    素數是指只能被1和自身整除的正整數,如2、3、5、7、11、13等。素數在密碼學、計算機科學、數學、物理等領域都有著廣泛的應用。本文將介紹幾種常見的求素數的方法,包括暴力枚舉法、埃…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • Python學習筆記:去除字元串最後一個字元的方法

    本文將從多個方面詳細闡述如何通過Python去除字元串最後一個字元,包括使用切片、pop()、刪除、替換等方法來實現。 一、字元串切片 在Python中,可以通過字元串切片的方式來…

    編程 2025-04-29
  • 用法介紹Python集合update方法

    Python集合(set)update()方法是Python的一種集合操作方法,用於將多個集合合併為一個集合。本篇文章將從以下幾個方面進行詳細闡述: 一、參數的含義和用法 Pyth…

    編程 2025-04-29

發表回復

登錄後才能評論