Page 67 - 4787
P. 67

Розглянемо простий виадок  для знаходження  простої змінної, для якої

               привласнення виконується один раз.


                     Якщо установка тимчасової змінної проводиться кілька разів , спробуйте


               скористатися «Розщеплення тимчасової змінної» (Split Temporary Variable).

                     Оголосіть  тимчасову  змінну  з  ключовим  словом  final.  Скомпілюйте  код.


               Це гарантує, що присвоювання тимчасової змінної виконується тільки один раз.


                     Виділіть праву частину присвоювання в метод. Спочатку позначте метод

               як  закритий  (private).  Пізніше  для  нього  може  бути  знайдено  додаткове


               застосування, і тоді захист буде легко послабити.

                     Тимчасові  змінні  часто  використовують  для  підсумовування  даних  у


               циклах. Цикл може бути повністю виділений в метод, що дозволить позбутися


               кількох рядків відволікаючого увагу коду.

                     Іноді в циклі складаються декілька величин . У такому випадку повторіть


               цикл окремо для кожної тимчасової змінної, щоб мати можливість замінити її


               викликом методу. Цикл повинен бути дуже простим, тому дублювання коду чи

               не  небезпечно.  У  даному  випадку  можуть  виникнути  побоювання  з  приводу


               зниження продуктивності. Залишимо їх поки що в стороні, як і інші пов'язані з


               нею  проблеми.  У  дев'яти  випадках  з  десяти  вони  не  істотні.  Якщо

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


               Коли код має чітку структуру, часто знаходяться більш потужні оптимізувальні

               рішення,  які  без  рефакторинга  залишилися  б  непоміченими.  Якщо  справи


               підуть зовсім погано, можна легко повернутися до тимчасових змінних .


                     Приклад 3. Видалення присвоювань параметрам


                     Код  виконує  присвоювання  параметрам.  Скористайтеся  замість  цього

               введення тимчасових змінних.




                                                                                                             66
   62   63   64   65   66   67   68   69   70   71   72