是否有任何优秀的Java重构工具可以处理大规模重构项目,例如以下示例.显然,如果可能的话,我希望免费.
我正在处理一个遗留项目,其中大部分是在Java早期建立的.使用旧式命令处理模式的类有很多,甚至有数百种,例如:
public interface IFrom {
public static final String COMMAND1 = "Command1";
public static final String COMMAND2 = "Command2";
}
public class From {
public void doSomething(String command) {
if (command.equals(IFrom.COMMAND1)) {
doSomething1();
} else if (command.equals(IFrom.COMMAND2)) {
doSomething2();
}
}
private void doSomething1() {
System.out.println("Something-1");
}
private void doSomething2() {
System.out.println("Something-2");
}
}
变得更易于管理,例如:
interface DoSomething {
public void doSomething();
}
enum ToCommands implements DoSomething {
Command1 {
@Override
public void doSomething() {
System.out.println("Something-1");
}
},
Command2 {
@Override
public void doSomething() {
System.out.println("Something-2");
}
};
}
public class To {
public void doSomething(String command) {
ToCommands.valueOf(command).doSomething();
}
}
我可能要补充一点,不仅可能有数百个遵循这种模式的类,而且其中一些实现了数百个命令.