我正在使用 Eclipse Neon
我在过大的方法中有一个重复的方法调用:
myObj.getStatus()
例如
if (myObj.getStatus() == ONE || myObj.getStatus() == TWO ) {
}
myObj.changeMe();
if (myObj.getStatus() == THREE || myObj.getStatus() == FOUR) {
}
myObj.changeMe2();
...
状态可以在调用之间在内部更新
我只有2个选择
提取局部变量并检查仅在范围(方法)中替换所有出现的情况,这不好(因为getStatus()不是有效的最终结果)
提取局部变量并手动替换每个相关myObj.getStatus()调用
我终于提取了一个方法,然后提取局部变量并检查替换所有出现
这是最有效的选择吗?或者我可以只在 eclipse 中的特定上下文/选定文本中替换吗?如果不是,这可以被认为是对 Eclipse 重构的增强吗?
编辑
我希望重构到最近的类似于 JavaScript 的封闭块 let
实际上代码不在同一级别,但 eclipse 替换了方法中的所有出现
if (myState.equals(STATE_ONE){
if (myObj.getStatus() == ONE || myObj.getStatus() == TWO ) {
}
myObj.changeMe();
}
if (myObj.getStatus() == THREE || myObj.getStatus() == FOUR) {
}
myObj.changeMe2();
...
慕桂英3389331
相关分类