Тимчасове поле
Симптоми і ознаки
Тимчасові поля — це поля, які потрібні об’єкту лише час від часу. Тільки тоді вони заповнюються якимись значеннями, залишаючись порожніми решту часу.
![](/images/refactoring/content/smells/temporary-field-01.png?id=5e30a8144171693ee4894091762b9742)
Причини появи
Найчастіше тимчасові поля створюються для використання в алгоритмі, який вимагає великого числа вхідних даних. Так, замість створення великого числа параметрів в такому методі програміст вирішує створити для цих даних поля в класі. Ці поля використовуються тільки в цьому алгоритмі, а решту часу простоюють.
Такий код дуже важко зрозуміти. Ви очікуєте побачити дані в полях об’єкта, а вони чомусь порожні майже весь час.
![](/images/refactoring/content/smells/temporary-field-02.png?id=2cf98e02ffb0c1d36a98d48ba7bc5c45)
Лікування
-
Тимчасові поля і весь код, що працює з ними, можна перемістити в свій власний клас за допомогою відокремлення класу. По суті, ви таким чином створюєте об’єкт-метод.
-
Введіть Null-об’єкт і вбудуйте його замість коду перевірки наявності значень в тимчасових полях.
![](/images/refactoring/content/smells/temporary-field-03.png?id=cf0e1c1e2a19745d23ca9e1d917d45cc)
Виграш
- Покращує зрозумілість і організацію коду.