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

时间:2015-01-15 03:45:21

标签: refactoring 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]

1 个答案:

答案 0 :(得分:2)

您引用的示例是在类的上下文中执行的。它适用于OS X 10.7上的Pycharm 4.0.4

enter image description here

“脚本”上下文中的相同操作会带来不同的结果,因为看起来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)

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