PyCharm 中的重构:如何提取方法?
Refactoring in PyCharm: How to extract a method?
每次我 select 一段代码并选择 Refactor This > Extract > Method 时,弹出窗口 window 会在参数字段中出现 "nothing to show"。考虑以下程序:
a = 1
b = 2
c = a + b
print(c)
I select 行 c = a + b,然后选择 Refactor This > Extract > Method。我希望弹出框参数字段至少包括 a 和 b,但相反:"nothing to show"。这应该如何工作?
the doc section Extract Method中的例子真的有效吗?为了到达 "After",select 在 "Before" 中编辑了什么。 "Before"里面没有d,所以我怀疑打错了...
[PyCharm 4.04 OS X 10.9.5]
你引用的例子是在class的上下文中执行的。 Pycharm 4.0.4 在 OS X 10.7
上对我来说效果很好
在 "script" 的上下文中执行相同的操作会带来不同的结果,因为 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)
我同意这不是文档页面的重点,应该避免。
每次我 select 一段代码并选择 Refactor This > Extract > Method 时,弹出窗口 window 会在参数字段中出现 "nothing to show"。考虑以下程序:
a = 1
b = 2
c = a + b
print(c)
I select 行 c = a + b,然后选择 Refactor This > Extract > Method。我希望弹出框参数字段至少包括 a 和 b,但相反:"nothing to show"。这应该如何工作?
the doc section Extract Method中的例子真的有效吗?为了到达 "After",select 在 "Before" 中编辑了什么。 "Before"里面没有d,所以我怀疑打错了...
[PyCharm 4.04 OS X 10.9.5]
你引用的例子是在class的上下文中执行的。 Pycharm 4.0.4 在 OS X 10.7
上对我来说效果很好在 "script" 的上下文中执行相同的操作会带来不同的结果,因为 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)
我同意这不是文档页面的重点,应该避免。