Page 57 - 4787
P. 57
стороною поліпшення композиції є видалення дублюючого коду. Важливість
цього пов'язана з модифікаціями коду в майбутньому. Скорочення обсягу коду
не зробить систему більш швидкою, бо зміна розміру образу програми в пам'яті
рідко має значення. Проте обсяг коду відіграє істотну роль, коли доводиться
його модифікувати.
Чим більше коду, тим важче правильно його модифікувати , і розбиратися
доводиться в його більшому обсязі. При зміні коду в деякому місці система
поводиться не відповідно до розрахунків, оскільки не модифіковану іншу
ділянку, яка робить те ж саме, але в дещо іншому контексті. Усуваючи
дублювання, вважають, що в коді є все, що потрібно, і при тому тільки в одному
місці, в чому і полягає суть хорошого проектування.
Як правило програмування являє собою спілкування з комп'ютером.
Програміст пише код, який вказує комп'ютеру, що необхідно зробити, і той у
відповідь робить те, що йому сказано. З часом розрив між тим, що потрібно від
комп'ютера, і тим, що йому говорять, скорочується. У такому режимі суть
програмування полягає в тому, щоб точно сказати, що потрібно від комп'ютера.
Але програма адресована не тільки комп'ютеру. Пройде якийсь час, і кому-
небудь знадобиться прочитати цей код, щоб внести якісь зміни. Про цього
користувача коду часто забувають, але він-то і є головний. Чи стане хтось
хвилюватися через те, що комп'ютеру для компіляції потрібно кілька додаткових
циклів? Зате важливо, що програміст може витратити тиждень на модифікацію
коду, яка зайняла б у нього лише годину, якщо він у змозі розібратися в коді.
Біда в тому , що коли б'ються над тим, щоб змусити програму працювати,
то зовсім не думають про розробника, який буде займатися нею в майбутньому.
Треба змінити ритм, щоб внести в код зміни, полегшуючи його розуміння.
Рефакторинг допомагає зробити код більш легким для читання. При проведенні
рефакторинга беруть код, який працює, але не відрізняється ідеальною
структурою. Витративши трохи часу на рефакторинг, можна домогтися того, що
код стане краще інформувати про свою мету. У такому режимі суть
програмування полягає в тому, щоб точно сказати, що мається на увазі.
56