Intellij idea Intellij IDEA中提取方法中所有返回语句的热键

Intellij idea Intellij IDEA中提取方法中所有返回语句的热键,intellij-idea,Intellij Idea,例如,如果我们有方法: private A getA(A a1, A a2) { if (a1 != null) { return a1; } else { return a2; } } IDEA是否有一些热键(如Ctrl+Alt+V用于提取变量)可以从代码中生成如下内容: private A selectA(A a1, A a2) { A result; if (a1 != null) { result

例如,如果我们有方法:

private A getA(A a1, A a2) {
    if (a1 != null) {
        return a1;
    } else {
        return a2;
    }
}
IDEA是否有一些热键(如Ctrl+Alt+V用于提取变量)可以从代码中生成如下内容:

private A selectA(A a1, A a2) {
    A result;
    if (a1 != null) {
        result = a1;
    } else {
        result = a2;
    }
    return result;
}

可以在YouTrack上创建功能请求:。我认为IntelliJ没有“单一退出点”重构。没有。如果有,它将(很可能)作为具有多个返回点检查的Java>MethodMetrics>Method的快速修复提供。打开一个功能请求可能是你最好的选择。IntelliJ中确实没有这样的重构。(在这种特殊情况下,您可以使用“替换”if else“为“?:”(按“if”上的alt enter键)。当然,这对一般情况没有帮助。大多数情况下,我更喜欢“提前返回”而不是“单次返回”样式。我曾经是“单次返回”的强烈支持者然而,多年来,凭借丰富的经验,我改变了我的观点。由于不必要的嵌套和多余的局部变量,严格执行“单返回”通常会导致更差的可读性。