Kód átalakítása a GitHub Copilot beágyazott chat alkalmazásával

Befejeződött

GitHub Copilot beágyazott csevegési funkciója lehetővé teszi a kód újrabontását közvetlenül a kódszerkesztőben. A beágyazott csevegés akkor hasznos, ha anélkül szeretné módosítani a kódot, hogy át kellene váltania a Csevegés nézetre.

A kód ismertetése

A kód újrabontása előtt fontos megérteni a kódot, amellyel dolgozik. Tisztában kell lennie a kód céljával, működésével és az esetleges függőségekkel. Ha nem ismeri a kódot, szánjon rá egy kis időt, hogy elolvassa, és megértse annak szerkezetét és logikáját. A kód elemzéséhez GitHub Copilot használatával azonosíthatja a fejlesztési területeket, és újrabontási lehetőségeket javasolhat.

A Beágyazott csevegés funkcióval kérdéseket tehet fel a kóddal kapcsolatban, magyarázatokat kaphat adott részekről, vagy javaslatokat kérhet a fejlesztésekhez. Megkérheti például GitHub Copilot, hogy magyarázza el, hogyan működik egy adott függvény, vagy javasoljon módot az optimalizálására. A beágyazott csevegés funkcióval segítséget is kérhet adott kódolási feladatokhoz, például egy függvény újrabontásához vagy a kód olvashatóságának javításához.

Íme néhány példa a GitHub Copilot használatát kérő kódsegítő parancsokra:

/explain Explain how authentication is implemented in this code
/explain Can this code be updated to improve security? Explain the concepts and show some examples

Ha a magyarázat hosszú vagy összetett, a csevegés folytatásához válthat a Csevegés nézetre. A Csevegés nézetben további kérdéseket tehet fel, vagy további információkat kérhet.

Kód újrabontása beágyazott csevegéssel

Akkor használja a beágyazott csevegés funkciót, ha egy adott feladatot végrehajtó kódszakaszt szeretne újrabontásra használni. A több fájl vagy projekt frissítésével járó összetettebb módosításokhoz használja az egyik Csevegés nézetmódot.

A kód beágyazott csevegéssel történő újrabontásához kövesse az alábbi lépéseket:

  1. Nyissa meg az optimalizálni kívánt kódot tartalmazó fájlt.

  2. Válassza ki az optimalizálni kívánt kódot.

  3. Nyisson meg egy beágyazott csevegési munkamenetet.

    A Ctrl+I billentyűparanccsal nyissa meg a beágyazott csevegési munkamenetet. Másik lehetőségként választhatja a Editor beágyazott csevegést az egyik GitHub Copilot menüből.

  4. Adjon meg egy optimalizálásra vonatkozó kérést.

    Például: Fejleszthető ez a kód?

  5. Tekintse át a javasolt kódfrissítést.

    GitHub Copilot közvetlenül a szerkesztőben alkalmazza a javasolt kódfrissítést, ahol helyben tekintheti át, a környező kód teljes kontextusával.

  6. A javasolt kódfrissítés elfogadásához vagy elvetéséhez válassza az Elfogadás vagy a Bezárás lehetőséget.

    Mint minden GitHub Copilot javaslatnál, ellenőrizze, hogy a módosított kód hiba nélkül fut-e, és a megfelelő eredményt hozza-e létre.

Az alábbi példa bemutatja, hogyan használható a beágyazott csevegés egy olyan C# metódus újrabontására, amely adatokat dolgoz fel.

Az eredeti módszer adattisztítást végez, adattáblát hoz létre, majd kinyomtatja a tábla tartalmát. Ha több műveletet kombinál egy metódussal, az megnehezíti a kód karbantartását és tesztelését.

Az eredeti metódus átalakításához kérje meg az Inline Chat-et, hogy hozzon létre külön metódusokat az eredeti metódusban végrehajtott minden egyes tevékenységhez.

Az eredeti kód a következő:

using System;
using System.Data;

public class DataProcessor
{
    public void ProcessData(string item, string price)
    {
        // Cleanse the data
        item = item.Trim();    // Remove leading and trailing whitespace
        price = price.Trim();  // Remove leading and trailing whitespace
        double priceValue = double.Parse(price);   // Convert price to a double
        // More cleansing operations can be added here

        // Create and print a DataTable
        DataTable table = new DataTable();
        table.Columns.Add("Item", typeof(string));
        table.Columns.Add("Price", typeof(double));
        table.Rows.Add(item, priceValue);
        foreach (DataRow row in table.Rows)
        {
            Console.WriteLine($"Item: {row["Item"]}, Price: {row["Price"]}");
        }
    }
}

// Example usage
class Program
{
    static void Main()
    {
        string item = "  Apple  ";
        string price = "  1.50  ";
        var processor = new DataProcessor();
        processor.ProcessData(item, price);
    }
}

A ProcessData metódus újrabontásához kövesse az alábbi lépéseket:

  1. Válassza ki a ProcessData metódust.

  2. Nyissa meg az oldalba ágyazott csevegést.

  3. Adjon meg egy kérést, amely arra kéri GitHub Copilot, hogy hozzon létre külön metódusokat az egyes tevékenységekhez, majd nyomja le a Enter billentyűt.

    Például: Szeretném átalakítani a ProcessData metódust. Szeretnék egy adattisztítási metódust, egy nyomtatási metódust és egy adatfeldolgozási metódust.

  4. Tekintse át a javasolt kódfrissítést.

    Ebben a példában GitHub Copilot az eredeti metódus újrabontását javasolja, amely elkülöníti a tisztítási és nyomtatási feladatokat külön metódusokra.

    using System;
    using System.Data;
    
    public class DataProcessor
    {
        public void ProcessData(string item, string price)
        {
            (string cleansedItem, double cleansedPrice) = CleanseData(item, price);
            DataTable table = new DataTable();
            table.Columns.Add("Item", typeof(string));
            table.Columns.Add("Price", typeof(double));
            table.Rows.Add(cleansedItem, cleansedPrice);
            PrintData(table);
        }
    
        private (string, double) CleanseData(string item, string price)
        {
            string trimmedItem = item.Trim();
            string trimmedPrice = price.Trim();
            double priceValue = double.Parse(trimmedPrice);
            return (trimmedItem, priceValue);
        }
    
        private void PrintData(DataTable table)
        {
            foreach (DataRow row in table.Rows)
            {
                Console.WriteLine($"Item: {row["Item"]}, Price: {row["Price"]}");
            }
        }
    }
    
    // Example usage
    class Program
    {
        static void Main()
        {
            string item = "  Apple  ";
            string price = "  1.50  ";
            var processor = new DataProcessor();
            processor.ProcessData(item, price);
        }
    }
    

    Ebben a példában az eredeti kód újrabontása javítja a modularitást, és megkönnyíti a kód megértését.

  5. A javasolt kódfrissítés elfogadásához vagy elvetéséhez válassza az Elfogadás vagy a Bezárás lehetőséget.

    Ebben a példában a javasolt kód jól néz ki, ezért az Elfogadás lehetőséget választva alkalmazhatja az újratervezett kódot a projektre.

    Mint minden GitHub Copilot javaslatnál, ellenőrizze, hogy a módosított kód hiba nélkül fut-e, és a megfelelő eredményt hozza-e létre.

  6. Tesztelje az újrabontási kódot, hogy hiba nélkül fusson, és létrehozza a várt eredményt.

Összefoglalás

GitHub Copilot beágyazott csevegési funkciója lehetővé teszi a kód újrabontását közvetlenül a kódszerkesztőben. A beágyazott csevegés akkor hasznos, ha anélkül szeretné módosítani a kódot, hogy át kellene váltania a Csevegés nézetre. A beágyazott csevegéssel segítséget kérhet bizonyos kódolási feladatokhoz, például egy függvény újrabontásához vagy a kód olvashatóságának javításához. Az inline csevegéssel is kiértékelheti a meglévő kódot, mielőtt refaktorálná.