Tag: 自动重构

IntelliJ重构使用LoD

说我有一些课Foo class Foo { protected String x = “x”; public String getX() { return x; } } 我有一个程序使用Foo并违反了LoD class Bar { protected Foo foo; public Bar() { this.foo = new Foo(); } public Foo getFoo() { return foo; } } public static void main(String [] args) { Bar bar = new Bar(); String x = […]

Eclipse – 记录并应用移动并将重构重命名为另一个工作区

我目前正在开发一个大型java项目,其中有很多子模块由不同的团队处理。 其中一些团队正在构建“框架”,其他团队正在构建基于框架的“应用程序”。 当框架人员移动或重命名一个类时,应用程序人员无论在哪里使用重构的框架类都会遇到编译错误。 Eclipse ( Galileo Release )中是否有一种方法可以记录更改并更新另一个工作区中的引用? 到目前为止我尝试过的是在重命名重构期间创建一个重构脚本,但是当我尝试将该脚本应用到另一个工作区时,它失败了The refactoring ‘Rename Type’ (org.eclipse.jdt.ui.rename.type) cannot be performed, since its input ‘xxx.TestClass” does not exists 。好吧,它不存在(不再)好了,但我想要的是我的项目中xxx.TestClass所有引用都改为xxx.MyRenamedTestClass Eclipse中是否有办法使用内置function或现有插件来完成此操作,还是我必须自己编写一个? 谢谢你的帮助! 编辑:到现在为止我发现“Migrate JAR”-Plugin提供了我正在寻找的function,虽然我们用Maven而不是Eclipse构建我们的JAR。 我现在要查看源代码,找出可以重用的部分。

自动重构工具,为Java / Javascript找到类似的重复源代码?

我正在寻找一种工具来查找重复或类似的Java / Javascript代码。 我不能说出“ 相似 ”的确切定义,但我希望该工具足够聪明,并给我建议重构代码,例如, (1)A类和B类有相似的方法(例如,有5个方法在两个类中都有相同的方法名,参数和类似的实现),那么它应该建议将这些类似的方法移到基类中。 (2)A类在不同的地方有多次相似的代码行,工具应该建议将这些相似的代码行移动到一个方法中。 我试过PMD可以找到重复的代码行,但它不够聪明。 它没有找到那些在我的项目中广泛传播的类似源代码。 有这样的工具吗?

Java源重构7000个引用

我需要更改整个代码库中使用的方法的签名。 具体来说,方法void log(String)将需要两个额外的参数( Class c, String methodName ),这些参数需要由调用者提供,具体取决于调用它的方法。 我不能简单地传递null或类似的东西。 为了了解范围,Eclipse发现了7000个对该方法的引用,所以如果我改变它,整个项目就会失效。 我需要几周时间才能手动修复它。 据我所知,Eclipse的Eclipse重构插件不能完成任务,但我真的想让它自动化。 那么,我怎样才能完成工作?

是否有任何开源命令行工具来重构java代码?

我使用vim作为我的编辑器,但我想在重构时获得一些与Java相同的function。 是否有用于重构java的命令行工具? 我可能会使用perl或vim脚本一起破解某些东西但是如果已经存在某些内容我宁愿使用它。