Udostępnij za pośrednictwem


Wyodrębnianie funkcji

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

Kiedy: fragment istniejącego kodu w niektórych funkcjach musi być wywoływany 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 wyróżniony przedparty do wyodrębnienia: podwójny obszar = M_PI * readious * radious;.

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

    • klawiatura,
      • Naciśnij Ctrl+R, a następnie Ctrl+M. (Skrót klawiaturowy może się różnić w zależności od wybranego profilu).
      • Naciśnij Ctrl+. aby wyzwolić menu Szybkie akcje i refaktoryzacje , a następnie wybierz pozycję Wyodrębnij funkcję (eksperymentalną) z menu kontekstowego.
    • mysz (Keyboard, Video, Mouse)
      • 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ę wyświetlaną Żarówka. 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 ma zostać umieszczony kod, a następnie kliknij przycisk OK.

    Zrzut ekranu przedstawiający okno dialogowe wyodrębniania funkcji, które przyjmuje nazwę funkcji i określa, czy utworzyć ją 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 to void CalculateArea(podwójny promień).