Kód átalakítása a GitHub Copilot beágyazott chat alkalmazásával
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:
Nyissa meg az optimalizálni kívánt kódot tartalmazó fájlt.
Válassza ki az optimalizálni kívánt kódot.
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.
Adjon meg egy optimalizálásra vonatkozó kérést.
Például: Fejleszthető ez a kód?
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.
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:
Válassza ki a ProcessData metódust.
Nyissa meg az oldalba ágyazott csevegést.
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.
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.
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.
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á.