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


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

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

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

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

Решение.

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

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

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

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

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

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

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