Page 58 - 4787
P. 58
В Устаточному підсумку все перераховане зводиться до одного:
рефакторинг сприяє прискоренню розробки коду.
Здається, що це суперечить інтуїції, але рефакторинг підвищує якість коду.
Вдосконалення конструкції, поліпшення читабельності, зменшення кількості
помилок - все це підвищує якість. Але хіба в результаті всього цього не
знижується швидкість розробки?
Слід зауважити, що хороший дизайн системи важливий для швидкої
розробки програмного забезпечення. Дійсно, весь сенс хорошого дизайну в
тому, щоб зробити можливою швидку розробку. Без нього можна якийсь час
швидко просуватися, але незабаром поганий дизайн стає гальмом. Час буде
витрачатися не на додавання нових функцій, а на пошук і виправлення помилок.
Модифікація займає більше часу, коли доводиться розбиратися в системі і
шукати дубльований код. Додавання нових функцій вимагає більшого обсягу
кодування, коли на вихідний код накладено кілька шарів заплаток.
Хороший дизайн важливий для збереження швидкості розробки
програмного забезпечення. Завдяки рефакторингу програми розробляють
швидше, оскільки він утримує композицію системи від розпаду. З його
допомогою можна навіть поліпшити дизайн.
Найчастіше починають рефакторинг, коли до деякого програмного
забезпечення потрібно додати нову функцію. Іноді при цьому причиною
рефакторинга є бажання краще зрозуміти код, який треба модифікувати. Цей
код міг написати хтось інший, а міг і конкретний розробник. Всякий раз, коли
доводиться думати про те, що робить певний код, задають питання про те, чи
не можна змінити його структуру так, щоб організація коду стала більш
очевидною. Після цього проводять рефакторинг коду. Найчастіше це робиться
на той випадок, якщо знову доведеться з ним працювати, але в основному тому,
що стає більш зрозумілим, якщо в процесі роботи роблять код зрозумілішим.
Ще одна причина, яка в цьому випадку спонукає до проведення
рефакторинга - це дизайн, що не сприяє легкому додаванню нової функції..
Дивлячись на дизайн коду можна задати таке питання: «Якщо спроектовано цей
код так-то і так-то, додати таку функцію було б просто». У такому випадку не
57