问题标签 [automated-refactoring]

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 回答
128 浏览

c - 是否有可以正确重构此 C 代码的工具?

假设我有以下代码(array* 函数是我们用于可调整大小的数组的函数,它们对空初始化的指向数组的指针进行操作):

我认为 SomeFunction 太大了,我想重构它。目前在我工作的地方,我们使用 VisualAssist X,它具有一些重构功能,但是当我在此使用它时,它无法正常工作。如果我尝试使用它来重构循环,这就是我得到的:

这是不正确的。MyMethod应该采取 a MyStruct ***,而不是 a MyStruct **。这是因为我正在重构的代码采用structs. 结果是重构后的版本总是返回 1(因为只有一个对象被推入我的数组),而不是number+1. 是否有其他工具可以正确地进行这种类型的重构?

0 投票
2 回答
255 浏览

c# - 这是 Resharper 的错误吗?

我有这个代码:

...并且 Resharper 建议在内部范围内声明“bool grabNext”,所以当我允许时,代码变为:

...然后,当然,我得到了一个错误消息,即“空控制语句体”

更新

实际上,我认为我需要的是以下内容,因为“-AA”是我获取下一个参数的指示:

更新 2

使用此代码,Resharper 不会抱怨:

0 投票
2 回答
5911 浏览

c# - 来自 Resharper 的可疑警告 - 我应该更改我的代码吗?

使用以下代码:

...我明白了,“可疑比较:解决方案中没有类型是从 'string' 和 'char' 继承的

有没有更好的方法来做到这一点,不会导致 Resharper 挑起毛病?

0 投票
2 回答
182 浏览

c# - 为什么 Resharper 告诉我我的 string[] 从未分配过?

在此声明中:

...Resharper 告诉我,“永远不会分配字段‘TardyEvenEmorys’。

稍后在代码中,对字符串 [] 进行了赋值:

...然后有条件地添加实际值:

. . .

...最后,这些值以这种方式使用:

那么 Resharper 告诉我什么?我应该在声明时实例化字符串[],或者......???

0 投票
1 回答
938 浏览

java - Intellij Idea 中类型迁移的用例是什么?

好的,所以我有这个变量声明

我想将参数的类型更改为:

Refactor-->Type Migration (the combination of Ctrl+Shift+F6)从上下文菜单中选择,但没有任何反应。

我的问题是:

  1. 那么类型迁移的目的是什么?
  2. 我将如何最有效地实现我需要实现的目标?
0 投票
2 回答
466 浏览

stylecop - 自定义 StyleCop 消息以生成新文件

Stylecop 在创建新文件时会显示版权信息。示例消息在下面指定

//------------------------------------------------ -----------------------
//
// TODO:更新版权文本。
//
// ---------------------------------- -------------------------

我想包含公司名称和默认消息(而不是更新版权文本)。

如何自定义上述消息?

0 投票
0 回答
349 浏览

scala - Scala 是否过于复杂,以至于任何 IDE 都无法支持等同于对 Java / C# 的重构支持的重构?

typesafe.com 上的 Scala IDE 功能列表吹捧基本的重构支持,如重命名、提取方法等。但是我发现支持非常糟糕。它很容易崩溃,我发现它不利于它在大型项目中的可用性。

在一个项目中,我们正在全力以赴地使用 Scala,而缺乏工具可能是对在 Scala 中工作的 Java 和 C# 开发人员最难卖的东西。当重命名仍然无法正常工作时,很难说服人们对编写代码感到兴奋。有人认为 Scala 太复杂了。Jetbrains 最初在其网站上的 Kotlin 常见问题解答中的某个时间点提出的声明似乎很普遍。

这种说法有什么问题吗?直到此时,typesafe 是否无法充分利用此功能?

0 投票
1 回答
145 浏览

c# - 是否有任何工具可以帮助我们将 IEnumerator 属性重构为 IList或类似的?

我们有一个非常古老的代码库(这实际上并不可怕)。它可以追溯到 .Net 预发布的时候,我怀疑这是造成这些奇怪约定的原因。

无论如何,我们刚刚开始放弃对 .Net 1.1 的支持,并且正在将事物转换为泛型并使用 Linq 和所有有趣的东西。我们代码库中最烦人的模式之一是我们会有类似的东西

这种模式特别可怕,因为它阻止我们简单地做foreach(var item in MyList),因为 IEnumerator 没有实现 IEnumerable。相反,我们必须这样做:

因此,对于重构,我们当然希望使用类似ReadOnlyCollection<T>IList<T>类似的东西。然而,要做到这一点,我们必须更新每一个引用MyList来做:

在某些情况下,我们可以对一个属性有一百多个引用。是否有任何工具可以使这更容易?我们最近得到了 Resharper(不是为了这个问题,只是为了一般用途),但它似乎没有涵盖这种类型的场景。

0 投票
0 回答
71 浏览

legacy - 使用 goto 或 break 提取 c 函数

在我目前工作的 C 项目中,有很多代码使用 goto 和 break 进行错误处理。Break 和 goto 通常在里面

我尝试使用 Eclipse CDT 重构来提取包含此类块的代码,但它不能自动工作。

如果在原始函数中创建了额外的错误代码变量并且提取的函数以某种方式返回错误代码,那么理论上应该可以自动执行此操作。

是否有支持此类函数提取的自动重构的 IDE 或 IDE 插件?

0 投票
1 回答
891 浏览

java - 如何在 Maven 构建期间重命名生成的类?

对于我正在处理的项目,我将查询发送到 StackExchange 并使用jsonschema2pojo maven plugin将 JSON 结果转换为 POJO 。问题很简单:该插件总是命名包装器类Data及其包含的数据Item,当我希望命名包装器*Wrapper和包含的类Answer以调用answers端点时(例如)。

好吧,无论如何,我怎么能把Data类重命名为AnswerWrapperItem类重命名为Answer?我知道它们所在的文件夹、用于定义的包等等。唯一缺少的是执行该操作的工具/插件/java 应用程序。我被定向JRefactory,但下载的 JAR 看起来不能提供我想要的操作(并且缺少文档使其无法使用)。

那么,有没有更现代/更有效的解决方案?(或者至少一些我可以集成到我的 Maven 构建中)?