รีแฟคเตอร์โค้ดโดยใช้ 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 โหมดใดโหมดหนึ่ง
หากต้องการสร้างโค้ดใหม่โดยใช้แชทแบบอินไลน์ ให้ทําตามขั้นตอนเหล่านี้:
เปิดไฟล์ที่มีโค้ดที่คุณต้องการปรับให้เหมาะสม
เลือกโค้ดที่คุณต้องการปรับให้เหมาะสม
เปิดเซสชันแชทแบบอินไลน์
ใช้แป้นพิมพ์ลัด Ctrl+I เพื่อเปิดเซสชันการสนทนาแบบอินไลน์ หรือคุณสามารถเลือก Editor Inline Chat จากเมนูใดเมนูหนึ่ง GitHub Copilot
ป้อนพร้อมท์ที่ขอการปรับให้เหมาะสม
ตัวอย่างเช่น: สามารถปรับปรุงรหัสนี้ได้หรือไม่?
ตรวจสอบการอัปเดตรหัสที่แนะนํา
GitHub Copilot ใช้การอัปเดตโค้ดที่แนะนําโดยตรงในตัวแก้ไข ซึ่งคุณสามารถตรวจสอบได้ในสถานที่ พร้อมบริบททั้งหมดของโค้ดโดยรอบ
เลือก ยอมรับ หรือ ปิด เพื่อยอมรับหรือละทิ้งการอัปเดตรหัสที่แนะนํา
เช่นเดียวกับคําแนะนํา 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 ใหม่ ให้ทําตามขั้นตอนเหล่านี้:
เลือกวิธีการ ProcessData
เปิดแชทแบบอินไลน์
ป้อนพร้อมท์ที่ขอให้ GitHub Copilot สร้างวิธีการแยกต่างหากสําหรับแต่ละงาน แล้วกด Enter
ตัวอย่างเช่น: ฉันต้องการปรับโครงสร้างเมธอด ProcessData ใหม่ ฉันต้องการวิธีการล้างข้อมูล วิธีการพิมพ์ และวิธีการประมวลผลข้อมูล
ตรวจสอบการอัปเดตรหัสที่แนะนํา
สําหรับตัวอย่างนี้ 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); } }ในตัวอย่างนี้ การปรับโครงสร้างโค้ดเดิมช่วยปรับปรุงโมดูลและทําให้เข้าใจโค้ดได้ง่ายขึ้น
เลือก ยอมรับ หรือ ปิด เพื่อยอมรับหรือละทิ้งการอัปเดตรหัสที่แนะนํา
ในตัวอย่างนี้ โค้ดที่แนะนําจะดูดี ดังนั้น คุณจะเลือก ยอมรับ เพื่อใช้โค้ดที่ปรับโครงสร้างใหม่กับโปรเจ็กต์ของคุณ
เช่นเดียวกับคําแนะนํา GitHub Copilot ทั้งหมด ให้ตรวจสอบว่าโค้ดที่แก้ไขแล้วทํางานโดยไม่มีข้อผิดพลาดและให้ผลลัพธ์ที่ถูกต้อง
ทดสอบโค้ดแบบปรับโครงสร้างใหม่เพื่อให้แน่ใจว่าทํางานโดยไม่มีข้อผิดพลาดและสร้างผลลัพธ์ที่คาดหวังไว้
สรุป
ฟีเจอร์แชทแบบอินไลน์ของ GitHub Copilot ช่วยให้คุณสามารถปรับโครงสร้างโค้ดได้โดยตรงในตัวแก้ไขโค้ด การแชทแบบอินไลน์มีประโยชน์เมื่อคุณต้องการทําการเปลี่ยนแปลงโค้ดของคุณโดยไม่ต้องสลับไปยังมุมมองแชท คุณสามารถใช้ Inline Chat เพื่อขอความช่วยเหลือเกี่ยวกับการเขียนโค้ดที่เฉพาะเจาะจง เช่น การปรับโครงสร้างฟังก์ชันใหม่หรือปรับปรุงความสามารถในการอ่านโค้ด คุณยังสามารถใช้ Inline Chat เพื่อประเมินโค้ดที่มีอยู่ของคุณก่อนทําการปรับโครงสร้างใหม่ได้