Page 71 - 4787
P. 71
Великі рефакторинги вимагають певної згоди всієї команді програмістів,
чого не треба для маленьких рефакторингів. Великі рефакторинги визначають
напрямок для багатьох і багатьох модифікацій. Вся команда повинна
усвідомити, що «у грі» перебуває один з великих рефакторингів, і діяти
відповідно.
Чому важливі великі рефакторинги? Якщо у великих рефакторингах
немає багатьох з тих якостей, які складають цінність маленьких
(передбачуваності, помітного прогресу, негайного винагороди), чому вони так
важливі?
Бо без них виникає ризик затрати часу і сили на навчання проведення
рефакторинга, а потім і на практичний рефакторинг та не отримати ніяких
вигод. Рефакторингом займаються не тому, що це весело, а тому, що
програмісти розраховують зробити зі своїми програмами після проведення
рефакторинга те, чого без нього просто не можливо б зробити.
Накопичення малозрозумілих проектних рішень у підсумку знецінюють
програму. Завдяки рефакторингу є гарантія, що повне розуміння того, як
повинна бути спроектована програма, завжди знаходить у ній відображення. Не
до кінця зрозумілі проектні рішення швидко поширюють свою дію по всій
програмі, тому ніякі дії не зможуть вирішити цю проблему
Приклад великого рефакторингу
Відділення предметної області від подання (Separate Domain from
Presentation. Є класи GUI, що містять логіку предметної області (рис. 8.1.).
Розглянемо виділення логіки предметної області в окремі класи предметної
області
70