问题标签 [extract-method]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
285 浏览

groovy - 为什么提取此方法在 gradle 中不起作用?

我有一个多模块项目的 gradle 构建脚本。

为了更好的可读性,我想提取一些方法,但是当我这样做时,脚本失败并出现异常:

完全可重现的示例:有一个空目录,其中包含两个文件:

设置.gradle

构建.gradle

在该目录中执行以下命令:

结果,您将获得可用任务的列表。

将 build.gradle 文件更改为以下内容

再次执行:

现在你(或至少我)得到:

0 投票
0 回答
54 浏览

c++ - AppCode 提取功能问题

我是一名学生,并且已获得 AppCode 的一年免费订阅(通过他们的学生政策)。我下载了它以与 Xcode 结合使用,以重构 C++ 代码。我注意到提取功能的问题。我已经尝试了几次,但我几乎总是会出错。我最初的想法是它会自动识别所选代码有变量,并将它们作为参数引入函数中,但这并没有发生。我必须手动输入它们,否则插入函数并发生错误。经过几次尝试后,我遇到了一种情况,它确实识别变量并完美地创建了函数,完全靠自己。有没有人对 AppCode 有任何经验,并且有任何信息说明为什么它似乎只在极少数情况下随机提取函数而没有任何帮助?我完全不介意手动操作,但在这一点上,它有点违背了甚至拥有函数提取工具的目的,因为我可以手动完成所有操作。

0 投票
0 回答
80 浏览

c++ - 使用匿名命名空间重构 C++ Extract 方法

在使用 C#/Java 编程时,我经常使用像Extract 方法这样的重构来使代码更具可读性。我现在正在开发一个 C++ 项目,由于缺乏 IDE 支持这种类型的重构(我使用 Visual Studio 2015),手动将所有这些辅助函数声明输入到头文件中非常烦人。

我找到了一个潜在的解决方案——匿名命名空间。一个挑战可能是由于我必须将所有类成员传递给匿名命名空间中定义的函数(或this作为参数传递给这些函数)。

我想了解我是否没有以错误的方式使用语言的特性(匿名命名空间)。上述方法是否存在我不知道的潜在问题?

0 投票
5 回答
3886 浏览

keyboard-shortcuts - Android Studio“提取方法”快捷键Ctrl+Alt+M不起作用

提取功能的 android studio 快捷方式对我不起作用。如果我按Ctrl+ Alt+M没有任何反应,并且当我尝试将其重新映射到相同的快捷方式时,我注意到 android studio 似乎根本无法识别该快捷方式。所以我测试了我的键盘,一切都应该正常工作。我什至重新安装了 AS no dice。

0 投票
0 回答
20 浏览

java - 使用插件中的提取方法操作

我刚刚开始开发 eclipse 插件,如果这是一个简单的问题,请原谅我,但我正在开发一个插件,其中第一步包括分析 Java 应用程序的源代码和提取新方法。

我的插件确定要提取的语句序列。我想使用ExtractMethodActionhttp://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.jdt.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fjdt%2Fui%2Factions%2Fpackage -summary.html )。

请注意,我的插件恢复了一系列语句(http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.jdt.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fjdt% 2Fcore%2Fdom%2FStatement.html)而不是ITextSelection ,它是ExtractMethodAction类的方法运行的参数。此外,ExtractMethodAction 的构造函数具有JavaEditor作为参数,我不知道如何为ICompilationUnit创建JavaEditor

这是我的插件的方法执行的一部分:

这就是我尝试使用 ExtractMethodAction 的方式:

请注意,我不知道如何初始化JavaEditorITextSelection

如果可能的话,你能帮我使用ExtractMethodAction吗,或者告诉我开发自己的代码是否更好。非常感谢。

0 投票
1 回答
116 浏览

java - 我如何在 Java 中对这种气味代码进行重构/提取方法?

我在重构这段代码时遇到了问题。我如何提取这个长方法?我不知道这些代码中的气味代码在哪里,你们能帮我弄清楚这些气味代码以及如何重构这些代码吗?

请大家给我这些代码的启发如何提取这些长方法:)

0 投票
0 回答
74 浏览

visual-studio-2022 - 提取方法未在 VStudio2022 上运行

你知道为什么提取方法在 VStudio2022 上不起作用吗?

示例:选择以下代码,如果我去 EDIT->Refractor->Extract Method 错误会出现在屏幕截图中。

没有执行提取的有效选择

0 投票
1 回答
36 浏览

flutter - 想通过提取一种方法来添加多张图片

我想添加 3 个圆形图像选择器头像,并想在其中上传 3 张不同的图片,但不幸的是无法做到这一点。我试图通过提取方法并将图像传递给单个提取的构建方法来做到这一点,结果选择的一个图像应用于所有三个化身。请帮助我度过难关。

以下是从图库和相机中选择图像的功能:

接下来是用于从图库或相机中选择图像的底页功能:

}

这是我想对所有三个图像使用一次的提取方法:

} }

这是在小部件内部调用提取的方法:

请帮助我使用这一提取方法应用 3 张不同的图片,并且所有功能都使用一次,这样我就不需要一次又一次地为所有三张图片经历所有这些过程。

0 投票
1 回答
35 浏览

flutter - 我正在尝试提取 emailController 和 passwordController 但我不断收到错误

在此处输入图像描述

我正在为我的电子邮件和密码自定义文本字段。当我从 emailController 和 passwordController 中提取方法时。我收到一条错误消息,提示“选择的结尾包含不属于语句的字符。我检查了一切和代码对我来说似乎都是正确的,但它仍然无法正常工作,请您帮帮我。我将所有代码导入到代码片段中,以便您可以在页面上看到所有代码。

在此处输入图像描述