Поделиться через


Извлечение функции

Что: Превратите фрагмент кода в собственную функцию.

Когда? Если в какой-либо функции существует фрагмент кода, который должен вызываться в другой функции.

Зачем? Вы можете скопировать и вставить этот код, но это приведет к дублированию. Лучшим решением является рефакторинг этого фрагмента в собственную функцию, которая может вызываться любой другой функцией.

Как?

  1. Выделите код, который требуется извлечь:

    Снимок экрана: следующий код, выделенный перед извлечением: двойная область = M_PI * readious * radious;.

  2. Затем выполните одно из следующих действий.

    • Клавиатура
      • Нажмите клавиши CTRL+R, а затем — CTRL+M. (Сочетание клавиш может отличаться в зависимости от выбранного профиля.)
      • Нажмите CTRL+. для запуска меню Быстрые действия и рефакторинг и в контекстном меню выберите Извлечь функцию (экспериментальная).
    • Мышь
      • Выберите Правка > Рефакторинг > Извлечь функцию (экспериментальная).
      • Щелкните код правой кнопкой мыши и выберите меню Быстрые действия и рефакторинг. Затем выберите в контекстном меню пункт Извлечь функцию (экспериментальная).
      • Щелкните значок Лампочка. в левом поле и выберите Извлечь функцию (экспериментальная) в контекстном меню.
  3. В окне Извлечь функцию или метод (экспериментальная функция) введите имя новой функции, укажите, куда нужно поместить код, и нажмите кнопку ОК.

    Снимок экрана: диалоговое окно извлечения функции, которое принимает имя функции и указывает, следует ли создать ее над текущей функцией или под ней.

  4. Функция создается в указанном расположении, а прототип функции в соответствующем файле заголовка и исходный код изменяются для вызова этой функции.

    Снимок экрана: созданная функция, содержащая извлеченный код. Определение — void CalculateArea(double radius).