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/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

发表回复

登录后才能评论