สร้างโค้ดโดยใช้คําแนะนําการกรอกข้อมูลโค้ดของ GitHub Copilot

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

GitHub Copilot สามารถให้คําแนะนําในการกรอกรหัสสําหรับภาษาการเขียนโปรแกรมจํานวนมากและเฟรมเวิร์กที่หลากหลาย แต่ทํางานได้ดีโดยเฉพาะอย่างยิ่งสําหรับ Python, JavaScript, TypeScript, Ruby, Go, C# และ C++ การเติมเส้นโค้ดจะถูกสร้างขึ้นตามบริบทของโค้ดที่คุณกําลังเขียน คุณสามารถยอมรับ ปฏิเสธ หรือยอมรับคําแนะนําที่ให้ไว้โดย GitHub Copilot บางส่วนได้

GitHub Copilot มีสองวิธีในการสร้างการเติมบรรทัดโค้ดให้สมบูรณ์:

  • จากข้อคิดเห็น : คุณสามารถสร้างการเติมบรรทัดโค้ดให้สมบูรณ์โดยการเขียนข้อคิดเห็นที่อธิบายโค้ดที่คุณต้องการสร้าง GitHub Copilot ให้คําแนะนําในการดําเนินการโค้ดตามความคิดเห็นที่คุณเขียน

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

ใช้ GitHub Copilot เพื่อสร้างความสมบูรณ์ของบรรทัดโค้ดจากข้อคิดเห็น

GitHub Copilot สร้างคําแนะนําการกรอกข้อมูลโค้ดโดยยึดตามข้อคิดเห็นและบริบทที่มีอยู่ของแอปของคุณ

คุณสามารถใช้ข้อคิดเห็นเพื่ออธิบายส่วนย่อยของโค้ด วิธีการ โครงสร้างข้อมูล และองค์ประกอบโค้ดอื่นๆ

สมมติว่าคุณมีส่วนย่อยของโค้ดต่อไปนี้:


namespace ReportGenerator;

class QuarterlyIncomeReport
{
    static void Main(string[] args)
    {
        // create a new instance of the class
        QuarterlyIncomeReport report = new QuarterlyIncomeReport();

        // call the GenerateSalesData method

        // call the QuarterlySalesReport method
        
    }

    public void QuarterlySalesReport()
    {

        Console.WriteLine("Quarterly Sales Report");
    }
}    

ตัวอย่างเช่น ข้อคิดเห็นต่อไปนี้สามารถใช้เพื่อสร้างโครงสร้างข้อมูล:


// public struct SalesData. Include the following fields: date sold, department name, product ID, quantity sold, unit price

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

สกรีนช็อตที่แสดงการเติมรหัสสําหรับข้อคิดเห็นที่อธิบายโครงสร้างข้อมูล

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

เมื่อ GitHub Copilot สร้างคําแนะนํามากกว่าหนึ่งรายการ คุณสามารถวนดูคําแนะนําโดยการเลือกปุ่มลูกศรซ้ายหรือขวา (> หรือ <) อยู่ทางด้านซ้ายของปุ่ม ยอมรับ ซึ่งช่วยให้คุณสามารถตรวจสอบและเลือกคําแนะนําที่เหมาะสมกับความต้องการของคุณที่สุด

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

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

หมายเหตุ

GitHub Copilot สามารถเสนอคําแนะนําในขั้นตอนเป็นครั้งคราว ถ้าเกิดกรณีนี้ คุณสามารถกด Enter เพื่อดูขั้นตอนเพิ่มเติมของคําแนะนําหลังจากกดปุ่ม Tab

เมื่อต้องการยอมรับโครงสร้างข้อมูลที่แนะนํา ให้กดแป้น Tab หรือเลือก ยอมรับ

หากต้องการปรับเปลี่ยนชนิดข้อมูลของเขตข้อมูล ให้อัปเดตโค้ดของคุณดังต่อไปนี้:

public struct SalesData
{
    public DateOnly dateSold;
    public string departmentName;
    public int productID;
    public int quantitySold;
    public double unitPrice;
}

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

ใช้ GitHub Copilot เพื่อสร้างความสมบูรณ์ของบรรทัดโค้ดจากข้อคิดเห็น

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

ใช้ขั้นตอนต่อไปนี้เพื่อทําแบบฝึกหัดในส่วนนี้ให้เสร็จสมบูรณ์:

  1. ในไฟล์ Program.cs ให้สร้างบรรทัดรหัสเปล่าสองบรรทัดใต้วิธี Main

  2. หากต้องการสร้างโครงสร้างข้อมูลที่สามารถใช้ในการสร้างข้อมูลทดสอบ ให้สร้างความคิดเห็นของโค้ดต่อไปนี้ แล้วกด Enter:

    // public struct SalesData. Include the following fields: date sold, department name, product ID, quantity sold, unit price
    

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

  3. ใช้เวลาสักครู่เพื่อตรวจสอบคําแนะนําการกรอกโค้ดที่ให้ไว้โดย GitHub Copilot

    หมายเหตุ

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

    สกรีนช็อตที่แสดงการเติมรหัสสําหรับข้อคิดเห็นที่อธิบายโครงสร้างข้อมูล

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

    เมื่อ GitHub Copilot สร้างคําแนะนํามากกว่าหนึ่งรายการ คุณสามารถวนดูคําแนะนําโดยการเลือกปุ่มลูกศรซ้ายหรือขวา (> หรือ <) อยู่ทางด้านซ้ายของปุ่ม ยอมรับ ซึ่งช่วยให้คุณสามารถตรวจสอบและเลือกคําแนะนําที่เหมาะสมกับความต้องการของคุณที่สุด

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

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

    หมายเหตุ

    GitHub Copilot สามารถเสนอคําแนะนําในขั้นตอนเป็นครั้งคราว ถ้าเกิดกรณีนี้ คุณสามารถกด Enter เพื่อดูขั้นตอนเพิ่มเติมของคําแนะนําหลังจากกดปุ่ม Tab

  4. เมื่อต้องการยอมรับโครงสร้างข้อมูลที่แนะนํา ให้กดแป้น Tab หรือเลือก ยอมรับ

  5. หากต้องการปรับเปลี่ยนชนิดข้อมูลของเขตข้อมูล ให้อัปเดตโค้ดของคุณดังต่อไปนี้:

    public struct SalesData
    {
        public DateOnly dateSold;
        public string departmentName;
        public int productID;
        public int quantitySold;
        public double unitPrice;
    }
    

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

  6. สร้างบรรทัดรหัสที่ว่างเปล่าสองบรรทัดใต้โครงสร้างข้อมูล SalesData

  7. หากต้องการสร้างวิธีการที่สร้างข้อมูลทดสอบโดยใช้โครงสร้างข้อมูล SalesData ให้เขียนความคิดเห็นของโค้ดต่อไปนี้แล้วกด Enter:

    /* the GenerateSalesData method returns 1000 SalesData records. It assigns random values to each field of the data structure */
    
  8. ใช้เวลาสักครู่เพื่อตรวจสอบคําแนะนําการกรอกโค้ดที่ให้ไว้โดย GitHub Copilot

    โปรดสังเกตว่าวิธี GenerateSalesData ถูกออกแบบมาเพื่อส่งกลับอาร์เรย์ของวัตถุ SalesData เมธอด จะสร้างบันทึกข้อมูลทดสอบได้ 1,000 รายการ โดยมีค่าแบบสุ่มที่กําหนดให้กับแต่ละเขตข้อมูลของโครงสร้างข้อมูล SalesData

    สกรีนช็อตที่แสดงการกรอกข้อมูลโค้ดสําหรับความคิดเห็นที่อธิบายวิธีการ

    คุณควรตรวจทานคําแนะนําที่เสนอโดย GitHub Copilot และ GitHub Copilot Chat แม้ว่าพวกเขาจะถูกต้องก็ตาม

    หมายเหตุ

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

  9. เลื่อนผ่านคําแนะนําการกรอกโค้ดและเลือกรายการที่ตรงกันที่สุดสําหรับข้อกําหนด

  10. หากต้องการยอมรับความสมบูรณ์ของโค้ด ให้กดปุ่ม Tab

    โปรดสังเกตว่าคําแนะนําการเติมโค้ดประกอบด้วยข้อผิดพลาดทางไวยากรณ์ในรหัสที่ใช้ในการสร้างเขตข้อมูล DateSold DateOnly ยอมรับค่าจํานวนเต็มสามค่าที่ต้องแสดงตามลําดับที่ถูกต้อง: Year, Month, Day

  11. หากต้องการระบุปีเดียวสําหรับรหัสที่ใช้ในการสร้างเขตข้อมูล DateSold ให้อัปเดตบรรทัดโค้ดดังนี้:

    salesData[i].DateSold = new DateOnly(2023, random.Next(1, 13), random.Next(1, 29));
    
  12. หากจําเป็น ให้ปรับบรรทัดโค้ดอื่น ๆ ให้ตรงกับส่วนย่อยของโค้ดต่อไปนี้:

    public SalesData[] GenerateSalesData()
    {
        SalesData[] salesData = new SalesData[1000];
        Random random = new Random();
    
        for (int i = 0; i < salesData.Length; i++)
        {
            salesData[i].dateSold = new DateOnly(2023, random.Next(1, 13), random.Next(1, 29));
            salesData[i].departmentName = "Department " + random.Next(1, 11);
            salesData[i].productID = random.Next(1, 101);
            salesData[i].quantitySold = random.Next(1, 101);
            salesData[i].unitPrice = random.NextDouble() * 100;
        }
    
        return salesData;
    }
    

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

ใช้ GitHub Copilot เพื่อสร้างความสมบูรณ์ของบรรทัดโค้ด

GitHub Copilot สามารถสร้างการเติมบรรทัดโค้ดให้สมบูรณ์ตามโค้ดที่คุณป้อน คุณสามารถสร้างการเสร็จสมบูรณ์ของบรรทัดโค้ดได้สองวิธี:

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

หมายเหตุ

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

ในส่วนนี้ของแบบฝึกหัด คุณทํางานกับวิธี QuarterlySalesReport

นี่คืองานที่คุณต้องทําให้เสร็จ:

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

ใช้ขั้นตอนต่อไปนี้เพื่อทําแบบฝึกหัดในส่วนนี้ให้เสร็จสมบูรณ์:

  1. อัปเดตคอนสตรักเตอร์ของวิธีการ สําหรับ QuarterlySalesReport ดังนี้:

    public void QuarterlySalesReport(SalesData[] salesData)
    
  2. ใช้เวลาสักครู่เพื่อพิจารณาโค้ดที่คุณต้องพัฒนา

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

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

    ตัวเลือกหนึ่งคือการเริ่มป้อนรหัสสําหรับลูป foreach จากนั้นดูว่า GitHub Copilot แนะนําอะไร

  3. ในวิธี QuarterlySalesReport ให้สร้างบรรทัดโค้ดใหม่ที่ด้านบนของบล็อกโค้ด

    ควรมีบรรทัดรหัสว่างอย่างน้อยหนึ่งบรรทัดระหว่างบรรทัดรหัสใหม่และบรรทัดรหัสที่ประกอบด้วย Console.WriteLine()

  4. หากต้องการสร้างการเติมเส้นโค้ดให้สมบูรณ์ ให้พิมพ์ foreach ( จากนั้นรอ GitHub Copilot เพื่อแนะนําตัวเลือกการเติมเส้นโค้ด

  5. ตรวจสอบการดําเนินการโค้ดที่ GitHub Copilot แนะนํา

    สกรีนช็อตที่แสดงการเสร็จสมบูรณ์ของโค้ดสําหรับการวนรอบ foreach

    การเติมโค้ดที่แนะนําไม่ใช่สิ่งที่คุณต้องการ

    แม้ว่า GitHub Copilot แนะนําลูป foreach ที่ทําซ้ําผ่าน salesDataแต่ไม่มีการวิเคราะห์หรือการคํานวณภายในรอบ โค้ดที่แนะนํามี Console.WriteLine คําสั่งที่คุณไม่ต้องการหรือต้องการ

  6. ใช้เวลาสักครู่เพื่อพิจารณาว่าทําไม GitHub Copilot จึงแนะนําคําสั่ง Console.WriteLine

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

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

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

  7. หากต้องการล้างโค้ดของคุณก่อนให้ GitHub Copilot อีกลองทําตามขั้นตอนต่อไปนี้:

    • ยกเลิกการดําเนินการโค้ด foreach ( ที่แนะนํา
    • ลบรายงาน foreach ( บางส่วนที่คุณป้อน
    • ลบคําสั่ง Console.WriteLine ออกจากวิธีการ QuarterlySalesReport ของคุณ

    ตอนนี้คุณควรพร้อมที่จะลอง GitHub Copilot อีกครั้ง

  8. ตรวจสอบให้แน่ใจว่าวิธีการ QuarterlySalesReport ของคุณมีลักษณะคล้ายกับโค้ดต่อไปนี้:

    public void QuarterlySalesReport(SalesData[] salesData)
    {
    
    
    }
    
  9. วางเคอร์เซอร์บนบรรทัดโค้ดว่างภายในวิธีการ QuarterlySalesReport แล้วกด Enter

    อาจใช้เวลาสักครู่สําหรับ GitHub Copilot เพื่อสร้างการดําเนินการโค้ดที่แนะนํา

  10. ใช้เวลาสักครู่เพื่อตรวจสอบการดําเนินการโค้ดที่แนะนํา

    สําคัญ

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

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

    คุณสามารถวนรอบคําแนะนําโดยการเลือก > หรือ <

    โปรดสังเกตว่าการดําเนินการโค้ดที่แนะนําจะทําซ้ําผ่านข้อมูลการขายและทําการคํานวณยอดขายรายไตรมาส

  11. หากต้องการยอมรับการดําเนินการโค้ดให้สมบูรณ์ ให้กดแป้น Tab

    การกรอกข้อมูลโค้ดที่แนะนําจะคํานวณและแสดงรายได้รายไตรมาสตามข้อมูลการขาย

    // create a dictionary to store the quarterly sales data
    Dictionary<string, double> quarterlySales = new Dictionary<string, double>();
    
    // iterate through the sales data
    foreach (SalesData data in salesData)
    {
        // calculate the total sales for each quarter
        string quarter = GetQuarter(data.dateSold.Month);
        double totalSales = data.quantitySold * data.unitPrice;
    
        if (quarterlySales.ContainsKey(quarter))
        {
            quarterlySales[quarter] += totalSales;
        }
        else
        {
            quarterlySales.Add(quarter, totalSales);
        }
    }
    
    // display the quarterly sales report
    Console.WriteLine("Quarterly Sales Report");
    Console.WriteLine("----------------------");
    foreach (KeyValuePair<string, double> quarter in quarterlySales)
    {
        Console.WriteLine(entry.Key + ": $" + entry.Value);
    }
    
    
  12. โปรดสังเกตว่า GetQuarter วิธีการ ใช้เดือนของการขายเพื่อกําหนดไตรมาสของยอดขาย

    วิธีการ GetQuarter จะถูกสร้างขึ้นถัดไป

  13. สร้างบรรทัดรหัสว่างสองบรรทัดใต้วิธีการ QuarterlySalesReport

  14. โปรดสังเกตว่า GitHub Copilot แนะนําการกรอกโค้ดสําหรับวิธีการ GetQuarter

    ด้วยบริบทที่กําหนดโดยวิธีการ QuarterlySalesReport GitHub Copilot สามารถสร้างความสมบูรณ์ของรหัสสําหรับวิธีการ GetQuarter ที่กําหนดไตรมาสตามเดือนของการขายได้อย่างง่ายดาย

  15. ใช้เวลาสักครู่เพื่อตรวจสอบการเติมบรรทัดโค้ดที่แนะนําสําหรับวิธี GetQuarter

    สกรีนช็อตที่แสดงการเติมรหัสสําหรับวิธี GetQuarter

  16. หากต้องการยอมรับการดําเนินการโค้ดให้สมบูรณ์ ให้กดแป้น Tab

    public string GetQuarter(int month)
    {
        if (month >= 1 && month <= 3)
        {
            return "Q1";
        }
        else if (month >= 4 && month <= 6)
        {
            return "Q2";
        }
        else if (month >= 7 && month <= 9)
        {
            return "Q3";
        }
        else
        {
            return "Q4";
        }
    }
    
  17. โปรดสังเกตว่าเมธอด Main จําเป็นต้องดําเนินการให้เสร็จสมบูรณ์ก่อนที่คุณจะสามารถเรียกใช้โค้ดได้

    คุณสามารถใช้ความคิดเห็นในวิธี Main เพื่ออัปเดตรหัสของคุณ

  18. วางเคอร์เซอร์ที่ส่วนท้ายของ // call the GenerateSalesData method ข้อคิดเห็นของรหัส แล้วกด Enter

    GitHub Copilot ใช้ความคิดเห็นเพื่อเสนอคําสั่งการโทรสําหรับวิธีการ

  19. ตรวจสอบและยอมรับการดําเนินการโค้ดให้เสร็จสิ้นตามที่ GitHub Copilot แนะนํา

  20. ทําซ้ํากระบวนการสําหรับข้อคิดเห็นเกี่ยวกับรหัส // call the QuarterlySalesReport method

  21. วิธี Main ของคุณควรมีโค้ดต่อไปนี้:

    static void Main(string[] args)
    {
        // create a new instance of the class
        QuarterlyIncomeReport report = new QuarterlyIncomeReport();
    
        // call the GenerateSalesData method
        SalesData[] salesData = report.GenerateSalesData();
    
        // call the QuarterlySalesReport method
        report.QuarterlySalesReport(salesData);
    }
    
    
  22. ใช้เวลาสักครู่เพื่อตรวจสอบรหัสในชั้นเรียน QuarterlyIncomeReport ของคุณ

    namespace ReportGenerator
    {
        class QuarterlyIncomeReport
        {
            static void Main(string[] args)
            {
                // create a new instance of the class
                QuarterlyIncomeReport report = new QuarterlyIncomeReport();
    
                // call the GenerateSalesData method
                SalesData[] salesData = report.GenerateSalesData();
    
                // call the QuarterlySalesReport method
                report.QuarterlySalesReport(salesData);
            }
    
            /* public struct SalesData includes the following fields: date sold, department name, product ID, quantity sold, unit price */
            public struct SalesData
            {
                public DateOnly dateSold;
                public string departmentName;
                public int productID;
                public int quantitySold;
                public double unitPrice;
            }
    
            /* the GenerateSalesData method returns 1000 SalesData records. It assigns random values to each field of the data structure */
            public SalesData[] GenerateSalesData()
            {
                SalesData[] salesData = new SalesData[1000];
                Random random = new Random();
    
                for (int i = 0; i < 1000; i++)
                {
                    salesData[i].dateSold = new DateOnly(2023, random.Next(1, 13), random.Next(1, 29));
                    salesData[i].departmentName = "Department " + random.Next(1, 11);
                    salesData[i].productID = random.Next(1, 101);
                    salesData[i].quantitySold = random.Next(1, 101);
                    salesData[i].unitPrice = random.NextDouble() * 100;
                }
    
                return salesData;
            }
    
            public void QuarterlySalesReport(SalesData[] salesData)
            {
                // create a dictionary to store the quarterly sales data
                Dictionary<string, double> quarterlySales = new Dictionary<string, double>();
    
                // iterate through the sales data
                foreach (SalesData data in salesData)
                {
                    // calculate the total sales for each quarter
                    string quarter = GetQuarter(data.dateSold.Month);
                    double totalSales = data.quantitySold * data.unitPrice;
    
                    if (quarterlySales.ContainsKey(quarter))
                    {
                        quarterlySales[quarter] += totalSales;
                    }
                    else
                    {
                        quarterlySales.Add(quarter, totalSales);
                    }
                }
    
                // display the quarterly sales report
                Console.WriteLine("Quarterly Sales Report");
                Console.WriteLine("----------------------");
                foreach (KeyValuePair<string, double> quarter in quarterlySales)
                {
                    Console.WriteLine(entry.Key + ": $" + entry.Value);
                }
            }
    
            public string GetQuarter(int month)
            {
                if (month >= 1 && month <= 3)
                {
                    return "Q1";
                }
                else if (month >= 4 && month <= 6)
                {
                    return "Q2";
                }
                else if (month >= 7 && month <= 9)
                {
                    return "Q3";
                }
                else
                {
                    return "Q4";
                }
            }
        }
    }
    
    

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

  23. หากต้องการตรวจสอบเอาต์พุตของรายงาน ให้เรียกใช้แอป

    เปิดหน้าต่างเทอร์มินัลใน Visual Studio Code แล้วป้อนคําสั่งต่อไปนี้:

    dotnet run
    

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

  24. ตรวจทานเอาต์พุตในหน้าต่างเทอร์มินัล

    แม้ว่าผลลัพธ์รายไตรมาสจะขึ้นอยู่กับค่าตัวเลขแบบสุ่ม คุณควรเห็นรายงานที่จัดรูปแบบคล้ายกับผลลัพธ์ต่อไปนี้:

    
    Quarterly Sales Report
    ----------------------
    Q3: $635637.5019563352
    Q4: $672247.315297204
    Q2: $667269.194630603
    Q1: $642769.2700531208
    
    

สรุป

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