สร้างโค้ดโดยใช้คําแนะนําการกรอกข้อมูลโค้ดของ 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 สร้างคําแนะนําการกรอกข้อมูลโค้ดโดยยึดตามข้อคิดเห็นและบริบทที่มีอยู่ของแอปของคุณ คุณสามารถใช้ข้อคิดเห็นเพื่ออธิบายส่วนย่อยของโค้ด วิธีการ โครงสร้างข้อมูล และองค์ประกอบโค้ดอื่นๆ
ใช้ขั้นตอนต่อไปนี้เพื่อทําแบบฝึกหัดในส่วนนี้ให้เสร็จสมบูรณ์:
ในไฟล์ Program.cs ให้สร้างบรรทัดรหัสเปล่าสองบรรทัดใต้วิธี
Mainหากต้องการสร้างโครงสร้างข้อมูลที่สามารถใช้ในการสร้างข้อมูลทดสอบ ให้สร้างความคิดเห็นของโค้ดต่อไปนี้ แล้วกด Enter:
// public struct SalesData. Include the following fields: date sold, department name, product ID, quantity sold, unit priceGitHub Copilot สร้างคําแนะนําในการกรอกโค้ดอย่างน้อยหนึ่งรายการโดยยึดตามความคิดเห็นของโค้ดของคุณและโค้ดใด ๆ ที่มีอยู่ที่พบในแอปของคุณ
ใช้เวลาสักครู่เพื่อตรวจสอบคําแนะนําการกรอกโค้ดที่ให้ไว้โดย GitHub Copilot
หมายเหตุ
ถ้า GitHub Copilot สร้างคําแนะนําสําหรับวิธีการแทนที่จะเป็นโครงสร้างข้อมูล ให้พิมพ์ str สาธารณะและรอคําแนะนําการกรอกโค้ดเพื่ออัปเดต 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; }การปรับเปลี่ยนอย่างรวดเร็วของคําแนะนําการเติมรหัสจะช่วยให้คุณมั่นใจได้ว่าคุณกําลังสร้างโค้ดที่คุณต้องการ สิ่งสําคัญโดยเฉพาะอย่างยิ่งเพื่อทําการแก้ไขในช่วงต้นของกระบวนการพัฒนาของคุณเมื่อโค้ดส่วนใหญ่ของคุณยังคงต้องได้รับการพัฒนา การกรอกข้อมูลโค้ดจะขึ้นอยู่กับโค้ดที่มีอยู่ของคุณ ดังนั้นจึงเป็นสิ่งสําคัญที่ต้องตรวจสอบให้แน่ใจว่าโค้ดของคุณถูกต้องที่สุดเท่าที่จะเป็นไปได้
สร้างบรรทัดรหัสที่ว่างเปล่าสองบรรทัดใต้โครงสร้างข้อมูล
SalesDataหากต้องการสร้างวิธีการที่สร้างข้อมูลทดสอบโดยใช้โครงสร้างข้อมูล
SalesDataให้เขียนความคิดเห็นของโค้ดต่อไปนี้แล้วกด Enter:/* the GenerateSalesData method returns 1000 SalesData records. It assigns random values to each field of the data structure */ใช้เวลาสักครู่เพื่อตรวจสอบคําแนะนําการกรอกโค้ดที่ให้ไว้โดย GitHub Copilot
โปรดสังเกตว่าวิธี
GenerateSalesDataถูกออกแบบมาเพื่อส่งกลับอาร์เรย์ของวัตถุSalesDataเมธอด จะสร้างบันทึกข้อมูลทดสอบได้ 1,000 รายการ โดยมีค่าแบบสุ่มที่กําหนดให้กับแต่ละเขตข้อมูลของโครงสร้างข้อมูลSalesData
คุณควรตรวจทานคําแนะนําที่เสนอโดย GitHub Copilot และ GitHub Copilot Chat แม้ว่าพวกเขาจะถูกต้องก็ตาม
หมายเหตุ
ถ้า GitHub Copilot แนะนําบรรทัดโค้ดเดียวแทนที่จะเป็นวิธี
GenerateSalesDataที่สมบูรณ์ ให้กด Ctrl + Enter เพื่อเปิดแท็บ คําแนะนํา GitHub Copilot ตรวจทานคําแนะนําบนแท็บใหม่ ในขั้นตอนถัดไป ใช้ปุ่ม "ยอมรับคําแนะนํา #" เพื่อยอมรับคําแนะนํา GitHub Copilot นําเสนอคําแนะนําแบบเพิ่มทีละน้อยในบางครั้ง แม้ว่าคุณจะสามารถยอมรับการใช้โค้ดให้เสร็จสิ้นทีละน้อย คุณควรใช้แท็บ คําแนะนํา GitHub Copilot เพื่อตรวจทานคําแนะนําเต็มรูปแบบก่อนที่จะตัดสินใจยอมรับหรือละทิ้งเลื่อนผ่านคําแนะนําการกรอกโค้ดและเลือกรายการที่ตรงกันที่สุดสําหรับข้อกําหนด
หากต้องการยอมรับความสมบูรณ์ของโค้ด ให้กดปุ่ม Tab
โปรดสังเกตว่าคําแนะนําการเติมโค้ดประกอบด้วยข้อผิดพลาดทางไวยากรณ์ในรหัสที่ใช้ในการสร้างเขตข้อมูล
DateSoldDateOnlyยอมรับค่าจํานวนเต็มสามค่าที่ต้องแสดงตามลําดับที่ถูกต้อง: Year, Month, Dayหากต้องการระบุปีเดียวสําหรับรหัสที่ใช้ในการสร้างเขตข้อมูล
DateSoldให้อัปเดตบรรทัดโค้ดดังนี้:salesData[i].DateSold = new DateOnly(2023, random.Next(1, 13), random.Next(1, 29));หากจําเป็น ให้ปรับบรรทัดโค้ดอื่น ๆ ให้ตรงกับส่วนย่อยของโค้ดต่อไปนี้:
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 เพื่อสร้างความสมบูรณ์ของบรรทัดโค้ดที่ประมวลผลข้อมูลยอดขายสําหรับรายงานรายไตรมาส
- เรียกใช้แอปและตรวจทานรายงานยอดขายรายไตรมาส
ใช้ขั้นตอนต่อไปนี้เพื่อทําแบบฝึกหัดในส่วนนี้ให้เสร็จสมบูรณ์:
อัปเดตคอนสตรักเตอร์ของวิธีการ สําหรับ
QuarterlySalesReportดังนี้:public void QuarterlySalesReport(SalesData[] salesData)ใช้เวลาสักครู่เพื่อพิจารณาโค้ดที่คุณต้องพัฒนา
แนวคิดนั้นตรงไปตรงมา คุณต้องการให้รหัสของคุณคํานวณยอดขายรายไตรมาสตามข้อมูลยอดขายของคุณ จากนั้นเขียนรายงาน ในการทําเช่นนั้น โค้ดของคุณต้อง:
- ทําซ้ําผ่านคอลเลกชัน
salesData - คํานวณค่าของการขายแต่ละรายการตามปริมาณที่ขายได้และราคาต่อหน่วย
- ใช้วันที่ขายเพื่อกําหนดไตรมาสที่มีการขายอยู่
- รวมยอดขายสําหรับแต่ละไตรมาส
- เขียนรายงานยอดขายตามไตรมาส
ตัวเลือกหนึ่งคือการเริ่มป้อนรหัสสําหรับลูป
foreachจากนั้นดูว่า GitHub Copilot แนะนําอะไร- ทําซ้ําผ่านคอลเลกชัน
ในวิธี
QuarterlySalesReportให้สร้างบรรทัดโค้ดใหม่ที่ด้านบนของบล็อกโค้ดควรมีบรรทัดรหัสว่างอย่างน้อยหนึ่งบรรทัดระหว่างบรรทัดรหัสใหม่และบรรทัดรหัสที่ประกอบด้วย
Console.WriteLine()หากต้องการสร้างการเติมเส้นโค้ดให้สมบูรณ์ ให้พิมพ์
foreach (จากนั้นรอ GitHub Copilot เพื่อแนะนําตัวเลือกการเติมเส้นโค้ดตรวจสอบการดําเนินการโค้ดที่ GitHub Copilot แนะนํา
การเติมโค้ดที่แนะนําไม่ใช่สิ่งที่คุณต้องการ
แม้ว่า GitHub Copilot แนะนําลูป
foreachที่ทําซ้ําผ่านsalesDataแต่ไม่มีการวิเคราะห์หรือการคํานวณภายในรอบ โค้ดที่แนะนํามีConsole.WriteLineคําสั่งที่คุณไม่ต้องการหรือต้องการใช้เวลาสักครู่เพื่อพิจารณาว่าทําไม GitHub Copilot จึงแนะนําคําสั่ง
Console.WriteLineโปรดจําไว้ว่า GitHub Copilot สร้างคําแนะนําการเติมโค้ดให้สมบูรณ์ตามบริบทของโค้ดของคุณ ในกรณีนี้คุณไม่มีรหัสมากนักสําหรับ GitHub Copilot เพื่อพิจารณา และสถานการณ์แย่ลง
โค้ดที่ GitHub Copilot เห็นภายในวิธีการของคุณคือคําสั่ง
Console.WriteLineเนื่องจากไม่มีบริบทอื่น ๆ ที่พร้อมใช้งานภายในเมธอด และไม่มีวิธีที่คล้ายกันใน codebase ที่จะดึงข้อมูลจาก GitHub Copilot จะสรุปคําสั่ง ภายในรอบConsole.WriteLineGitHub Copilot จะทํางานได้ดีที่สุดเมื่อโค้ดของคุณสะอาดและมุ่งเน้น หากคุณเห็นความคิดเห็นหรือคําสั่งรหัสจํานวนมากในโค้ดของคุณ คุณอาจต้องการลบออกก่อนที่คุณจะลองใช้การดําเนินการโค้ด GitHub Copilot
หากต้องการล้างโค้ดของคุณก่อนให้ GitHub Copilot อีกลองทําตามขั้นตอนต่อไปนี้:
- ยกเลิกการดําเนินการโค้ด
foreach (ที่แนะนํา - ลบรายงาน
foreach (บางส่วนที่คุณป้อน - ลบคําสั่ง
Console.WriteLineออกจากวิธีการQuarterlySalesReportของคุณ
ตอนนี้คุณควรพร้อมที่จะลอง GitHub Copilot อีกครั้ง
- ยกเลิกการดําเนินการโค้ด
ตรวจสอบให้แน่ใจว่าวิธีการ
QuarterlySalesReportของคุณมีลักษณะคล้ายกับโค้ดต่อไปนี้:public void QuarterlySalesReport(SalesData[] salesData) { }วางเคอร์เซอร์บนบรรทัดโค้ดว่างภายในวิธีการ
QuarterlySalesReportแล้วกด Enterอาจใช้เวลาสักครู่สําหรับ GitHub Copilot เพื่อสร้างการดําเนินการโค้ดที่แนะนํา
ใช้เวลาสักครู่เพื่อตรวจสอบการดําเนินการโค้ดที่แนะนํา
สําคัญ
การเติมรหัสที่คุณได้รับมีแนวโน้มที่จะแตกต่างจากคําแนะนําที่แสดงในภาพหน้าจอต่อไปนี้ แม้ว่า GitHub Copilot จะมีชื่อเมธอดและพารามิเตอร์ในการทํางานเท่านั้น ซึ่งอาจเพียงพอที่จะสร้างคําแนะนําที่มีประโยชน์ได้ คุณควรเห็นคําแนะนําที่คํานวณยอดขายตามไตรมาส การปฏิเสธคําแนะนําและลองอีกครั้งสามารถให้ผลลัพธ์ที่แตกต่างกันได้
คุณสามารถวนรอบคําแนะนําโดยการเลือก
>หรือ<โปรดสังเกตว่าการดําเนินการโค้ดที่แนะนําจะทําซ้ําผ่านข้อมูลการขายและทําการคํานวณยอดขายรายไตรมาส
หากต้องการยอมรับการดําเนินการโค้ดให้สมบูรณ์ ให้กดแป้น 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); }โปรดสังเกตว่า
GetQuarterวิธีการ ใช้เดือนของการขายเพื่อกําหนดไตรมาสของยอดขายวิธีการ
GetQuarterจะถูกสร้างขึ้นถัดไปสร้างบรรทัดรหัสว่างสองบรรทัดใต้วิธีการ
QuarterlySalesReportโปรดสังเกตว่า GitHub Copilot แนะนําการกรอกโค้ดสําหรับวิธีการ
GetQuarterด้วยบริบทที่กําหนดโดยวิธีการ
QuarterlySalesReportGitHub Copilot สามารถสร้างความสมบูรณ์ของรหัสสําหรับวิธีการGetQuarterที่กําหนดไตรมาสตามเดือนของการขายได้อย่างง่ายดายใช้เวลาสักครู่เพื่อตรวจสอบการเติมบรรทัดโค้ดที่แนะนําสําหรับวิธี
GetQuarter
หากต้องการยอมรับการดําเนินการโค้ดให้สมบูรณ์ ให้กดแป้น 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"; } }โปรดสังเกตว่าเมธอด
Mainจําเป็นต้องดําเนินการให้เสร็จสมบูรณ์ก่อนที่คุณจะสามารถเรียกใช้โค้ดได้คุณสามารถใช้ความคิดเห็นในวิธี
Mainเพื่ออัปเดตรหัสของคุณวางเคอร์เซอร์ที่ส่วนท้ายของ
// call the GenerateSalesData methodข้อคิดเห็นของรหัส แล้วกด EnterGitHub Copilot ใช้ความคิดเห็นเพื่อเสนอคําสั่งการโทรสําหรับวิธีการ
ตรวจสอบและยอมรับการดําเนินการโค้ดให้เสร็จสิ้นตามที่ GitHub Copilot แนะนํา
ทําซ้ํากระบวนการสําหรับข้อคิดเห็นเกี่ยวกับรหัส
// call the QuarterlySalesReport methodวิธี
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); }ใช้เวลาสักครู่เพื่อตรวจสอบรหัสในชั้นเรียน
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 เพื่อให้แน่ใจว่าโค้ดเป็นไปตามข้อกําหนดของคุณ
หากต้องการตรวจสอบเอาต์พุตของรายงาน ให้เรียกใช้แอป
เปิดหน้าต่างเทอร์มินัลใน Visual Studio Code แล้วป้อนคําสั่งต่อไปนี้:
dotnet runผลลัพธ์ควรแสดงรายงานรายได้รายไตรมาส ที่แสดงชื่อแผนก ไตรมาส และรายได้สําหรับแต่ละแผนกและไตรมาสที่แสดงอยู่ในข้อมูลการทดสอบ
ตรวจทานเอาต์พุตในหน้าต่างเทอร์มินัล
แม้ว่าผลลัพธ์รายไตรมาสจะขึ้นอยู่กับค่าตัวเลขแบบสุ่ม คุณควรเห็นรายงานที่จัดรูปแบบคล้ายกับผลลัพธ์ต่อไปนี้:
Quarterly Sales Report ---------------------- Q3: $635637.5019563352 Q4: $672247.315297204 Q2: $667269.194630603 Q1: $642769.2700531208
สรุป
การเติมโค้ดเป็นคุณลักษณะที่มีประสิทธิภาพของ GitHub Copilot ที่สามารถช่วยให้คุณสร้างโค้ดได้อย่างรวดเร็วและมีประสิทธิภาพ คุณสามารถสร้างโครงสร้างข้อมูล วิธีการ และองค์ประกอบโค้ดอื่น ๆ ด้วยการใช้ข้อคิดเห็นเพื่ออธิบายโค้ดที่คุณต้องการสร้าง นอกจากนี้ GitHub Copilot สามารถสร้างการเติมบรรทัดโค้ดตามโค้ดที่คุณป้อนเพื่อให้คุณสามารถสร้างแอปพลิเคชันที่ซับซ้อนได้อย่างง่ายดาย