Page 69 - 4787
P. 69
Звичайно, дане правило не є обов'язковим для інших мов, в яких
застосовуються вихідні параметри, але навіть у таких мовах доцільно віддавати
перевагу якомога рідше користуватися вихідними параметрами .
Створіть для параметра тимчасову змінну.
Замініть всі звернення до параметру, здійснювані після присвоювання,
тимчасової змінної.
Змініть присвоювання так, щоб воно проводилося для тимчасової змінної.
Виконайте компіляцію і тестування .
Якщо передача параметра здійснюється за посиланням, перевірте, чи
використовується параметр у викликаючому методі знову. Подивіться також,
скільки в цьому методі параметрів, що передаються за посиланням, яким
присвоюється значення і які надалі використовуються. Спробуйте зробити так,
щоб метод повертав одне значення. Якщо необхідно повернути декілька
значень, спробуйте перетворити групу даних в об'єкт або створити окремі
методи.
Питання для самоконтролю
1. У чому суть таких типів рефакторингу, як « Виділення методу» та
« Вбудовування методу »?
2. У чому полягає найбільша проблема при застосуванн такого типу
рефакторинга як « Виділення методу»?
3. Для чого використовують тип рефокторингу «Розщеплення тимчасової
змінної»?
4. Коли використовують тип «Заміна методу об'єктом методу»?
5. Коли використовують тип «Видалення присвоювань параметрами»?
6. Опишіть послідовність дій для перетворення фрагмент коду в метод.
7. Опишіть послідовність дій для заміни тимчасової змінної викликом
метода.
8. Опишіть послідовність дій для знаходження простої змінної, для якої
привласнення виконується один раз.
68