Рефакторинг – ефективний і потужний інструмент програмування, але як і всі потужні інструменти при неправильному використанні він може нанести шкоду. Тому при рефакторингу потрібно користуватись наступними прийомами:
o Збереження початкового коду.
o Обмеження об’єму окремих видів рефакторингу.
o Виконання окремих видів рефакторингу по одному за раз.
o Складання списку дій, які програміст збирається виконати.
o Складання і підтримка списку видів рефакторингу, які потрібно виконати пізніше.
o Часте створення контрольних точок.
o Використання попереджень компілятора.
o Виконання регресивного тестування.
o Створення додаткових тестів.
o Виконання оглядів змін.
o Зміна підходу в залежності від ризикованості рефакторингу.
Стратегії рефакторингу
Число видів рефакторингу, вигідних для конкретної програми, майже нескінчене. Рефакторинг підлягає тому ж закону зниження вигоди, що й інші процеси програмування і до нього теж можна застосувати правило 80/20. Тому доцільно витрачати час на 20% видів рефакторингу, які забезпечать 80% вигоди. При визначенні найважливіших видів рефакторингу варто:
o Виконувати рефакторинг при створенні нових методів.
o Виконувати рефакторинг при створенні нових класів.
o Виконувати рефакторинг при виправленні дефектів.
o Виконувати рефакторинг модулів, в яких велика ймовірність виникнення помилок.
o Виконувати рефакторинг складних модулів.
o При супроводженні програми покращувати фрагменти, які доводиться виправляти.
o Визначити інтерфейс між акуратним і поганим кодом та перенести поганий код на інший бік цього інтерфейсу.