您在重构工具中寻找(或使用最多)哪些功能?

时间:2010-02-15 20:04:31

标签: language-agnostic refactoring

我熟悉基本知识,例如“提取方法”。但这就是我使用的所有内容。其他人在那里?这可以包括重构工具功能以及您自己编写的宏。

4 个答案:

答案 0 :(得分:3)

来自Resharper

  • 安全重命名功能。
  • 会员/变量突出显示。
  • 动态错误检测
  • 导入命名空间

另外,使用一个非常好的宏(这也可以让你创建自己的宏)

Visual Studio Macro: Collapse Solution Explorer

  

折叠所有树的宏   解决方案资源管理器中的节点...

这在更大的解决方案中非常有用。

答案 1 :(得分:2)

目前我使用IntelliJ IDEA,最常用的是

  • 重命名(它还可以重命名getter / setter,以及注释,文字甚至非Java文件中的引用,如Hibernate映射文件)
  • 介绍变量/常数/字段/参数
  • 内联变量/常量/字段
  • 提取方法,当然(所有重构的母亲)
  • 更改方法签名(非常有用)

然后还有更多需要的东西不那么频繁,但是当需要时,他们需要严重

  • Extract interface / superclass / class
  • 移动方法/类

尽管Rename看起来微不足道,但它仍然是最重要的。为我的程序元素寻找好的和更好的名称是一项持续的活动。好名字会对程序的可读性产生巨大影响。

OTOH重构的原型是Extract Method,因为自动化权利要复杂得多。可能存在许多陷阱,例如可能与超类型方法发生冲突(或者更糟糕的是:无意中覆盖一个),输入/输出参数等。所以这对于自动重构工具来说已经是一种很长的阈值测试,尽管如此,相信,到现在为止,普通人都很好地解决了这个问题。

答案 2 :(得分:1)

除了@astander提到的那些之外,我还使用某种频率将转换局部变量转换为场(反之亦然)。当我需要它时,Pull Up(也就是说,在子类上创建一个方法就是超类上的方法)真的很棒。

答案 3 :(得分:0)

在IDEA中,除了PéterTörök提到的内容之外,我还使用了很多:

  • 拉出会员
  • 推送会员
  • 安全删除

一些有用的代码生成(实现方法,覆盖方法,生成构造函数)。