รีแฟคเตอร์โค้ดโดยใช้ GitHub Copilot Inline Chat

เสร็จสมบูรณ์เมื่อ

ฟีเจอร์แชทแบบอินไลน์ของ GitHub Copilot ช่วยให้คุณสามารถปรับโครงสร้างโค้ดได้โดยตรงในตัวแก้ไขโค้ด การแชทแบบอินไลน์มีประโยชน์เมื่อคุณต้องการทําการเปลี่ยนแปลงโค้ดของคุณโดยไม่ต้องสลับไปยังมุมมองแชท

ทําความเข้าใจกับรหัสของคุณ

ก่อนที่คุณปรับโครงสร้างโค้ดของคุณ เป็นสิ่งสําคัญที่ต้องทําความเข้าใจโค้ดที่คุณกําลังทํางานด้วย คุณควรเข้าใจวัตถุประสงค์ของโค้ด วิธีการทํางาน และการขึ้นต่อกันใดๆ ที่อาจมี หากคุณไม่คุ้นเคยกับโค้ด ใช้เวลาสักครู่ในการอ่านและทําความเข้าใจโครงสร้างและตรรกะของโค้ด การใช้ GitHub Copilot เพื่อวิเคราะห์โค้ดสามารถช่วยคุณระบุจุดที่ต้องปรับปรุงและแนะนําตัวเลือกการปรับโครงสร้างใหม่

คุณสามารถใช้คุณลักษณะ Inline Chat เพื่อถามคําถามเกี่ยวกับโค้ด รับคําอธิบายเกี่ยวกับส่วนที่เฉพาะเจาะจง หรือร้องขอคําแนะนําสําหรับการปรับปรุง ตัวอย่างเช่น คุณอาจขอให้ GitHub Copilot อธิบายวิธีการทํางานของฟังก์ชันเฉพาะหรือแนะนําวิธีเพิ่มประสิทธิภาพ คุณยังสามารถใช้คุณลักษณะ Inline Chat เพื่อขอความช่วยเหลือเกี่ยวกับงานการเขียนโค้ดที่เฉพาะเจาะจง เช่น การปรับโครงสร้างฟังก์ชันใหม่หรือปรับปรุงความสามารถในการอ่านโค้ด

ต่อไปนี้คือตัวอย่างของข้อความแจ้งที่ขอความช่วยเหลือจาก GitHub Copilot เกี่ยวกับโค้ด

/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

ถ้าคําอธิบายยาวหรือซับซ้อน คุณสามารถย้ายไปยังมุมมองแชทเพื่อดําเนินการสนทนาต่อ คุณยังสามารถใช้มุมมองแชทเพื่อถามคําถามติดตามผลหรือขอข้อมูลเพิ่มเติมได้

ใช้แชทแบบอินไลน์เพื่อปรับโครงสร้างโค้ดใหม่

ใช้คุณลักษณะแชทแบบอินไลน์เมื่อคุณต้องการปรับโครงสร้างส่วนของโค้ดที่ทํางานเฉพาะใหม่อีกครั้ง สําหรับการเปลี่ยนแปลงที่ซับซ้อนมากขึ้นที่เกี่ยวข้องกับการอัปเดตไฟล์หรือโครงการหลายรายการ ให้ใช้โหมดมุมมอง Chat โหมดใดโหมดหนึ่ง

หากต้องการสร้างโค้ดใหม่โดยใช้แชทแบบอินไลน์ ให้ทําตามขั้นตอนเหล่านี้:

  1. เปิดไฟล์ที่มีโค้ดที่คุณต้องการปรับให้เหมาะสม

  2. เลือกโค้ดที่คุณต้องการปรับให้เหมาะสม

  3. เปิดเซสชันแชทแบบอินไลน์

    ใช้แป้นพิมพ์ลัด Ctrl+I เพื่อเปิดเซสชันการสนทนาแบบอินไลน์ หรือคุณสามารถเลือก Editor Inline Chat จากเมนูใดเมนูหนึ่ง GitHub Copilot

  4. ป้อนพร้อมท์ที่ขอการปรับให้เหมาะสม

    ตัวอย่างเช่น: สามารถปรับปรุงรหัสนี้ได้หรือไม่?

  5. ตรวจสอบการอัปเดตรหัสที่แนะนํา

    GitHub Copilot ใช้การอัปเดตโค้ดที่แนะนําโดยตรงในตัวแก้ไข ซึ่งคุณสามารถตรวจสอบได้ในสถานที่ พร้อมบริบททั้งหมดของโค้ดโดยรอบ

  6. เลือก ยอมรับ หรือ ปิด เพื่อยอมรับหรือละทิ้งการอัปเดตรหัสที่แนะนํา

    เช่นเดียวกับคําแนะนํา GitHub Copilot ทั้งหมด ให้ตรวจสอบว่าโค้ดที่แก้ไขแล้วทํางานโดยไม่มีข้อผิดพลาดและให้ผลลัพธ์ที่ถูกต้อง

ตัวอย่างต่อไปนี้สาธิตวิธีการใช้ Inline Chat เพื่อปรับโครงสร้างวิธีการ C# ที่ประมวลผลข้อมูลใหม่

วิธีการดั้งเดิมจะดําเนินการทําความสะอาดข้อมูล สร้างตารางข้อมูล แล้วพิมพ์เนื้อหาของตาราง การรวมการดําเนินการหลายอย่างเข้าด้วยกันเป็นวิธีเดียวทําให้ยากต่อการบํารุงรักษาและทดสอบโค้ดของคุณ

คุณสามารถปรับโครงสร้างวิธีการเดิมใหม่โดยการขอให้ Inline Chat สร้างวิธีแยกต่างหากสําหรับแต่ละงานที่ดําเนินการในวิธีการเดิม

นี่คือโค้ดต้นฉบับ:

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);
    }
}

เมื่อต้องการปรับโครงสร้างของเมธอด ProcessData ใหม่ ให้ทําตามขั้นตอนเหล่านี้:

  1. เลือกวิธีการ ProcessData

  2. เปิดแชทแบบอินไลน์

  3. ป้อนพร้อมท์ที่ขอให้ GitHub Copilot สร้างวิธีการแยกต่างหากสําหรับแต่ละงาน แล้วกด Enter

    ตัวอย่างเช่น: ฉันต้องการปรับโครงสร้างเมธอด ProcessData ใหม่ ฉันต้องการวิธีการล้างข้อมูล วิธีการพิมพ์ และวิธีการประมวลผลข้อมูล

  4. ตรวจสอบการอัปเดตรหัสที่แนะนํา

    สําหรับตัวอย่างนี้ GitHub Copilot แนะนําวิธีการดั้งเดิมที่ปรับโครงสร้างใหม่ซึ่งแยกงานการทําความสะอาดและการพิมพ์ออกเป็นวิธีการแยกต่างหาก

    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);
        }
    }
    

    ในตัวอย่างนี้ การปรับโครงสร้างโค้ดเดิมช่วยปรับปรุงโมดูลและทําให้เข้าใจโค้ดได้ง่ายขึ้น

  5. เลือก ยอมรับ หรือ ปิด เพื่อยอมรับหรือละทิ้งการอัปเดตรหัสที่แนะนํา

    ในตัวอย่างนี้ โค้ดที่แนะนําจะดูดี ดังนั้น คุณจะเลือก ยอมรับ เพื่อใช้โค้ดที่ปรับโครงสร้างใหม่กับโปรเจ็กต์ของคุณ

    เช่นเดียวกับคําแนะนํา GitHub Copilot ทั้งหมด ให้ตรวจสอบว่าโค้ดที่แก้ไขแล้วทํางานโดยไม่มีข้อผิดพลาดและให้ผลลัพธ์ที่ถูกต้อง

  6. ทดสอบโค้ดแบบปรับโครงสร้างใหม่เพื่อให้แน่ใจว่าทํางานโดยไม่มีข้อผิดพลาดและสร้างผลลัพธ์ที่คาดหวังไว้

สรุป

ฟีเจอร์แชทแบบอินไลน์ของ GitHub Copilot ช่วยให้คุณสามารถปรับโครงสร้างโค้ดได้โดยตรงในตัวแก้ไขโค้ด การแชทแบบอินไลน์มีประโยชน์เมื่อคุณต้องการทําการเปลี่ยนแปลงโค้ดของคุณโดยไม่ต้องสลับไปยังมุมมองแชท คุณสามารถใช้ Inline Chat เพื่อขอความช่วยเหลือเกี่ยวกับการเขียนโค้ดที่เฉพาะเจาะจง เช่น การปรับโครงสร้างฟังก์ชันใหม่หรือปรับปรุงความสามารถในการอ่านโค้ด คุณยังสามารถใช้ Inline Chat เพื่อประเมินโค้ดที่มีอยู่ของคุณก่อนทําการปรับโครงสร้างใหม่ได้