2009-11-26 2 views
7

Я использую Eclipse 3.something и хотел бы знать, можно ли создать новый метод из выбора блока кода? Очевидно, что подпись метода будет содержать необходимые существующие ссылки, и мы не сможем вернуть более одной переменной из метода.Создайте новый метод для выбора существующего блока кода, Eclipse

У меня есть различные методы, когда код, связанный с представлением, смешивается с кодом, связанным с логикой. TY

ответ

8

Source:

В рефакторингах являются экстрактом Метод (Alt - сдвига - м) и экстракта Локального переменного (Alt - сдвиг - л) ,

Но я получаю сообщение об ошибке:

Не все выбранные заявления прилагаются одним и тем же родительским заявление.

или

Начало выбора содержит символы, которые не принадлежат к заявлению.

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

2

Примечание: в предстоящем Helios (eclipse3.6), метод экстракт is enhanced ("это", потому что он доступен с сентября 2009 года, в пресс-релизе M1):

Метод Extract рефакторинга в настоящее время обрабатывает выборки, содержащие операторы continue. Чтобы сохранить семантику существующего кода, выбор должен включать последний оператор цикла. В выведенном методе продолжают заявления изменены вернуться:

http://archive.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/images/extract-method-continue.png

Для выбора, который нужно будет несколько возвращаемых значений в выведенном методе, Eclipse теперь перечисляет конфликтующие переменные в сообщении об ошибке:

http://archive.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/images/extract-method-multiple-return-values.png

Смежные вопросы