Керівництво користувача IntelliJ IDEA. Основи рефакторінга.
основи рефакторінга
- вибір
Перш за все, вам навіть не обов'язково виділяти потрібний елемент коду перед рефакторингом. IntelliJ IDEA досить розумна, щоб зрозуміти, який вираз ви збираєтеся реорганізувати, і просто запитує підтвердження якщо можливі кілька варіантів.

Ще одна важлива річ, IntelliJ IDEA дозволяє скасувати всі, включаючи рефакторинг, незалежно від того, наскільки масштабними ці перетворення. Просто натисніть Ctrl + Z (Cmd + Z для Mac), і ось перед вами той код, яким він був поки ви ненароком не перепсували кілька тисяч рядків вашої програми.
IntelliJ IDEA рекомендує використовувати клавіатуру замість миші. Доведено що це швидше і врешті-решт призведе до більш продуктивної роботи з кодом.
Те, що допоможе Вам легко за допомогою клавіатури працювати з діалоговими і спливаючими вікнами, і є мнемоніка - поєднання клавіш, які автоматично призначаються кожному з діалогових елементів. Після відкриття діалогового вікна, натисніть і утримуйте Alt. щоб IntelliJ IDEA виділила всі доступні мнемоніки. Потім ви можете використовувати їх, натиснувши на виділену клавішу, утримуючи клавішу Alt. щоб отримати доступ до необхідних елементів.

Добре економить час можливість отримати частину строкового вираження за допомогою команди Extract. рефакторінга. Просто виберіть фрагмент і застосуєте рефакторинг, щоб замінити всі випадки використання цього фрагмента на запропоновану константу або змінну.

Зверніть увагу, що ви можете вибрати тип змінної коли використовуєте команду Extract рефакторінга. Натисніть Shift + Tab при редагуванні імені змінної, і IntelliJ IDEA запропонує вам вибрати тип змінної (наприклад, ви можете використовувати інтерфейс замість того класу який його реалізує, або навпаки).

Один з найпростіших, але дуже корисний спосіб рефакторінга це Invert Boolean. який інвертує вираження з усією їхньою семантикою і перетворенням даних для будь-якої булевої змінної, параметра, поля або методу.

Спосіб рефакторінга Type Migration. як припускає його назва, дозволяє автоматично змінювати тип для будь-якого члена класу, поряд з усіма залежними від нього елементами, такими як типи методів, локальних змінних, параметрів і т.д.

Підйом членів класу вгору / вниз
Виділення батьківського класу
виділення інтерфейсу
Перетворення анонімного класу у внутрішній клас
Якщо ви не можете згадати комбінацію клавіш для конкретного рефакторінга, або ви просто не впевнені, що робити далі, просто використовуйте «Рефакторинг цієї дії», натиснувши Ctrl + Shift, + Alt + T (Cmd + Shift, + Alt + T). Ви побачите список рефакторингов, доступних в поточному контексті.

Див. Наступні керівництва для поглибленого вивчення конкретних тем.