Wyodrębnianie funkcji

Co: Przekształcanie fragmentu kodu w własną funkcję.

Kiedy: W niektórych funkcjach istnieje fragment istniejącego kodu, który musi zostać wywołany z innej funkcji.

Dlaczego: Możesz skopiować/wkleić ten kod, ale doprowadziłoby to do duplikowania. Lepszym rozwiązaniem jest refaktoryzacja tego fragmentu do własnej funkcji, która może być wywoływana przez dowolną inną funkcję.

Jak:

  1. Wyróżnij kod do wyodrębnienia:

    Zrzut ekranu przedstawiający następujący kod, który został wyróżniony prepartory do wyodrębnienia: podwójny obszar = M_PI * readious * radious;.

  2. Następnie wykonaj jedną z następujących czynności:

    • Klawiatura
      • Naciśnij klawisze Ctrl+R, a następnie ctrl+M. (Skrót klawiaturowy może się różnić w zależności od wybranego profilu).
      • Naciśnij klawisze Ctrl+. aby wyzwolić menu Szybkie akcje i refaktoryzacje , a następnie wybierz pozycję Wyodrębnij funkcję (eksperymentalną) z menu kontekstowego.
    • Mysz
      • Wybierz pozycję Edytuj > funkcję wyodrębniania refaktoryzacji > (eksperymentalna).
      • Kliknij prawym przyciskiem myszy kod, wybierz menu Szybkie akcje i refaktoryzacje , a następnie wybierz polecenie Wyodrębnij funkcję (eksperymentalną) z menu kontekstowego.
      • Kliknij ikonę Żarówka. Wyświetlana na lewym marginesie i wybierz pozycję Wyodrębnij funkcję (eksperymentalną) z menu kontekstowego.
  3. W oknie Wyodrębnij funkcję/metodę (eksperymentalną) wprowadź nową nazwę funkcji, wybierz miejsce, w którym chcesz umieścić kod, a następnie kliknij przycisk OK .

    Zrzut ekranu przedstawiający okno dialogowe wyodrębniania funkcji, które przyjmuje nazwę funkcji i informację o tym, czy ma zostać utworzona powyżej, czy poniżej bieżącej funkcji.

  4. Nowa funkcja zostanie utworzona w miejscu, w którym została określona, prototyp funkcji w odpowiednim pliku nagłówka, a oryginalny kod zostanie zmieniony w celu wywołania tej funkcji.

    Zrzut ekranu przedstawiający utworzoną funkcję zawierającą wyodrębniony kod. Definicja jest void CalculateArea(podwójny promień).