Рефакторинг определения функции - PullRequest
1 голос
/ 25 августа 2010

Я использую Pydev в Eclipse для написания кода на Python.Я новичок в Pydev и Eclipse.Мне нравится функция, где я могу использовать rightClick -> Refactoring -> Rename ..., чтобы переименовать переменную.

Мне было интересно, есть ли что-то подобное для изменения функции везде в проекте, если я изменю ее определение.

Например, предположим, у меня изначально есть:

def myFunction(a, b):
    body of the function
    return blah

Я использую эту функцию в других файлах проекта.Скажем,

thisVar = myFunction(a, b)

Теперь я чувствую необходимость изменить определение функции для учета дополнительного параметра.

def myFunction(a, b, c):
    body of the function
    return blah

Есть ли в eclipse или pydev что-то такое, что оно автоматически изменится

thisVar = myFunction(a, b)

до

thisVar = myFunction(a, b, c)

Спасибо за вашу помощь.

Ответы [ 3 ]

2 голосов
/ 25 августа 2010

Никакая IDE не может поддерживать это, так как при вызове функции требуется переменная, которая не может быть c все время,

я предлагаю оставить параметр c необязательным, например

thisVar = myFunction(a, b, c = None)

и когда вы на самом деле понимаете, что для этого требуется c, вы можете вызвать эти операторы, используя 3 параметра или myFunction(10,20, c = 2000)

0 голосов
/ 30 октября 2014

Я знаю, что это 4 года, но Eclipse для Java может реорганизовать определения методов и изменить аргументы.Насколько я знаю, Pydev не включает поддержку функций python

0 голосов
/ 27 августа 2012

Я не думаю, что существуют методы рефакторинга в Pydev из Eclipse.По причинам, почему, пожалуйста, смотрите здесь для справки ... это связано с конструкцией переменных Python

, почему в eclipse-python нет магического рефактора?

...