Dela via


Extrahera funktion

Vad: Omvandla ett kodfragment till en egen funktion.

När: Du har ett fragment av befintlig kod i någon funktion som måste anropas från en annan funktion.

Varför: Du kan kopiera/klistra in koden, men det skulle leda till duplicering. En bättre lösning är att omstrukturera det fragmentet till sin egen funktion, som kan anropas av andra funktioner.

Hur:

  1. Markera koden som ska extraheras:

    Skärmbild som visar följande kod som är markerad prepartory för att extraheras: double area = M_PI * readious * radious;.

  2. Gör sedan något av följande:

    • tangentbord
      • Tryck på Ctrl+R och sedan på Ctrl+M. (Kortkommandot kan skilja sig beroende på vilken profil du har valt.)
      • Tryck på Ctrl+. för att utlösa menyn Snabbåtgärder och Refaktoriseringar och välj Extrahera funktion (experimentell) på snabbmenyn.
    • Mus
      • Välj Redigera > Refaktorisera > Extrahera funktion (experimentell).
      • Högerklicka på koden, välj snabbåtgärder och refaktoriseringar och välj Extrahera funktion (experimentell) på snabbmenyn.
      • Klicka på ikonen Lightbulb. som visas i vänstermarginalen och välj Extrahera funktion (experimentell) på snabbmenyn.
  3. I fönstret Extrahera funktion/metod (experimentell) anger du det nya funktionsnamnet, väljer var du vill att koden ska placeras och klickar på ok-knappen .

    Skärmbild av dialogrutan extrahera funktion som tar funktionsnamnet och om du vill skapa den ovanför eller under den aktuella funktionen.

  4. Den nya funktionen skapas där du angav, en funktionsprototyp i motsvarande rubrikfil och den ursprungliga koden ändras för att anropa den funktionen.

    Skärmbild av den skapade funktionen som innehåller den extraherade koden. Definitionen är void CalculateArea(double radius).