Page 60 - 4787
P. 60

Раніше така ситуація була з об'єктами. Тепер така ж історія відбувається з

               рефакторингом.  Тепер  відомо,  які  вигоди  приносить  рефакторінг.  Відомо,  що

               він може відчутно змінити роботу програмістів.

                     Чи  можна  за  допомогою  рефакторинга  виправити  будь-які  недоліки

               проектування або в дизайні системи можуть бути закладені такі базові рішення,

               які згодом не вдасться змінити шляхом проведення рефакторинга? Наявні в цій

               області дані недостатні. Зазвичай, часто рефакторинг виявляється ефективним,

               але іноді виникають труднощі.

                     Розглядаючи різні варіанти дизайну системи, можна  визначити, наскільки

               важким виявиться рефакторинг одного дизайну в інший.

                     У деяких випадках рефакторинг взагалі не потрібен. Основний приклад -

               необхідність  переписати  програму  з  нуля.  Іноді  наявний  код  настільки

               заплутаний,  що  піддати  його  рефакторингу,  звичайно,  можна,  але  простіше

               почати все з самого початку.

                     Явна  ознака  необхідності  переписати  код  -  його  непрацездатність.  Це

               виявляється  тільки  під  час  його  тестування,  коли  помилок  так  багато,  що

               зробити  код  стійким  не  вдається.  Слід  пам'ятати,  що  перед  початком

               рефакторинга код повинен виконуватися в основному коректно.

                     Компромісне  рішення  полягає  в  створенні  компонентів  з  сильною

               інкапсуляцією        шляхом       рефакторинга         значної      частини      програмного

               забезпечення.  Після  цього  для  кожного  компонента  окремо  можна  прийняти

               рішення  щодо  зміни  його  структури  за  допомогою  рефакторинга  або

               відтворення заново.

                     Зростання продуктивності, що досягається завдяки рефакторингу, проявить

               себе занадто пізно – після закінчення терміну.

                     З  рефакторингом  зазвичай  пов'язане  питання  про  його  вплив  на

               продуктивність  програми.  З  метою  полегшити  розуміння  роботи  програми

               часто здійснюють модифікацію, яка веде до уповільнення виконання програми.

                      Рефакторинг, безсумнівно, змушує програму виконуватися повільніше, але

               при цьому робить її більш піддатливою для налаштування продуктивності.




                                                                                                             59
   55   56   57   58   59   60   61   62   63   64   65