在 pycharm 中更改签名(重构)时强制默认变量和参数传播
Mandatory Default variables and parameter propagation while changing signature (refactoring) in pycharm
我正在对 pycharm 进行评估,并且被重构位困住了。
我想要实现的是在其中一个函数中添加一个新参数。我这里有两个问题。
- 每当我添加一个新参数时,它都会显示 'Default Value is missing'
- 传播参数似乎一直处于禁用状态
那么,默认值是强制性的吗?以及如何在所有函数调用中反映新参数?
如果有帮助请附上截图..
"Default value" 似乎不应该是 Python 意义上的 "default value":它是将根据新签名更改的调用中的文本,这些必然默认扩展签名。
这也解释了实际将该值作为 "Python default value" 与新参数一起放置的附加复选框。然后在签名预览中显示为 Python 默认值 (= ...
)。
因此,如果您将文本 thing2
放在 new_param
的 "Default value" 框中,并且不选中该复选框,那么在重构之后(这是可能的)
fn1(thing1)
变成
fn1(thing1, thing2)
在调用点,fn1
的重构定义变成
def fn1(param1, new_param):
# ...
即不涉及Python默认值。
我正在对 pycharm 进行评估,并且被重构位困住了。 我想要实现的是在其中一个函数中添加一个新参数。我这里有两个问题。
- 每当我添加一个新参数时,它都会显示 'Default Value is missing'
- 传播参数似乎一直处于禁用状态
那么,默认值是强制性的吗?以及如何在所有函数调用中反映新参数?
如果有帮助请附上截图..
"Default value" 似乎不应该是 Python 意义上的 "default value":它是将根据新签名更改的调用中的文本,这些必然默认扩展签名。
这也解释了实际将该值作为 "Python default value" 与新参数一起放置的附加复选框。然后在签名预览中显示为 Python 默认值 (= ...
)。
因此,如果您将文本 thing2
放在 new_param
的 "Default value" 框中,并且不选中该复选框,那么在重构之后(这是可能的)
fn1(thing1)
变成
fn1(thing1, thing2)
在调用点,fn1
的重构定义变成
def fn1(param1, new_param):
# ...
即不涉及Python默认值。