PyCharm中的重构:如何提取方法?

每次我选择一个代码块并选择Refactor This>提取物>方法,弹出窗口到达参数字段中的“无显示”.考虑以下程序:

a = 1
b = 2
c = a + b

print(c)

我选择c = a b行,然后选择Refactor This>提取物>方法.我希望弹出框参数字段至少包含a和b,而是:“无需显示”.这应该怎么样?

the doc section Extract Method中的示例真的有用吗?在“之前”中选择了什么以达到“之后”. “之前”中没有d,所以我怀疑是一个错字……

[OS X 10.9.5上的PyCharm 4.04]

最佳答案 您引用的示例是在类的上下文中执行的.它适用于OS X 10.7上的Pycharm 4.0.4

然而,在“脚本”的上下文中相同的操作将带来不同的结果,因为看起来Pycharm更依赖于命名空间,如果您接受重构,您可能已经观察到了:

a = 1
b = 2

def method_name():
    global c
    c = a + b

method_name()
print(c)

哪个有效,但在这种情况下不一定有用.

最后,你提到的d变量似乎是使用另一个重构来提取的

math.sqrt(b**2 - 4*a*c)

我同意这不是文档页面的重点,应该可以避免.

点赞