สร้างข้อความแจ้งที่มีประสิทธิภาพสําหรับ GitHub Copilot

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

prompt เป็นคําสั่งภาษาธรรมชาติที่บอก GitHub Copilot ว่าคุณต้องการให้ทําอะไร สามารถใช้พร้อมท์เพื่อถามคําถาม สื่อสารคําขอ หรืออธิบายงาน

ตัวอย่างเช่น พร้อมท์ต่อไปนี้แสดงถึงคําถาม คําขอ และคําอธิบายงาน

Question: How do I create a button that submits a form?

Request: Add a button that opens a modal dialog. The button should be blue with rounded corners.

Task: Build a product page that displays a product title, product image, product description, and price. Product information should be fetched from the attached ProductsList.json file. The price should be formatted as currency. The page should also include a button to add the product to the cart.

คุณภาพของพรอมต์ของคุณส่งผลโดยตรงต่อคุณภาพของการตอบสนองของ GitHub Copilot

อะไรทําให้ข้อความแจ้งที่ดี

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

เริ่มใช้งานทั่วไป แล้วระบุ

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

Example:

Write a function that tells me if a number is prime.

The function should take an integer and return true if the integer is prime.

The function should error if the input is not a positive integer.

ให้ตัวอย่างที่เป็นรูปธรรม

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

Example:

Write a function that finds all dates in a string and returns them in an array. Dates can be formatted like:

- 05/02/24
- 05/02/2024
- 5/2/24
- 5/2/2024
- 05-02-24
- 05-02-2024
- 5-2-24
- 5-2-2024

Example usage:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")

Expected return: ["11/14/2023", "12-1-23"]

แบ่งงานที่ซับซ้อนออกเป็นขั้นตอนที่ง่ายขึ้น

เมื่อเผชิญกับงานที่ซับซ้อนหรือขนาดใหญ่ ให้แยกย่อยออกเป็นส่วนประกอบที่เล็กลงและจัดการได้ วิธีนี้นําไปสู่ผลลัพธ์ที่ดีขึ้นและทําให้ง่ายต่อการแก้ไขข้อบกพร่องและปรับแต่งแต่ละชิ้น

ตัวอย่าง: แทนที่จะขอให้ Copilot สร้างปริศนาค้นหาคําศัพท์ที่สมบูรณ์ ให้แยกย่อย:

  1. Write a function to generate a 10 by 10 grid of letters
  2. Write a function to find all words in a grid of letters, given a list of valid words
  3. Write a function that uses the previous functions to generate a 10 by 10 grid containing at least 10 words
  4. Update the previous function to print the grid and 10 random words from the grid

ขจัดความคลุมเครือ

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

ตัวอย่างที่ไม่ดี:

  • "นี่ทําอะไร" (ไม่ชัดเจนว่า "นี้" หมายถึงอะไร)
  • "แก้ไขข้อบกพร่อง" (ไม่ได้ระบุข้อบกพร่องหรือวิธีแก้ไข)

ตัวอย่างที่ดีกว่า:

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

ข้อควรพิจารณาของห้องสมุด:

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

ระบุบริบทที่เกี่ยวข้อง

ช่วยให้ Copilot เข้าใจโครงสร้างโครงการและความตั้งใจของคุณโดยการจัดการสภาพแวดล้อมการพัฒนาของคุณอย่างมีประสิทธิภาพ

ใน IDE ของคุณ:

  • เปิดไฟล์ที่เกี่ยวข้องและปิดไฟล์ที่ไม่เกี่ยวข้อง
  • ไฮไลต์ส่วนโค้ดเฉพาะที่คุณต้องการให้ Copilot อ้างอิง
  • ใช้ปุ่มเพิ่ม บริบท ในมุมมองแชทเพื่อแนบไฟล์ สัญลักษณ์ หรือเนื้อหาพื้นที่ทํางานที่เฉพาะเจาะจง
  • อ้างอิงบริบทโดยตรงในพรอมต์ #ของคุณด้วย -references เช่น #file และ #selection.

ใน Copilot Chat:

  • อ้างอิงไฟล์หรือบล็อกโค้ดที่เฉพาะเจาะจง
  • แนบเอกสารหรือข้อมูลจําเพาะที่เกี่ยวข้อง
  • ใช้เส้นทางไฟล์และชื่อฟังก์ชันที่ชัดเจน

ทําซ้ําและปรับแต่ง

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

กลยุทธ์สําหรับการทําซ้ํา:

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

รักษาประวัติการสนทนาที่เกี่ยวข้อง

Copilot Chat ใช้ประวัติการสนทนาเพื่อทําความเข้าใจบริบท ดังนั้นควรจัดการประวัตินี้อย่างมีกลยุทธ์

แนวทางปฏิบัติแนะนํา:

  • เริ่มเธรดใหม่สําหรับงานหรือโครงการต่างๆ
  • ลบคําขอที่ไม่เกี่ยวข้องหรือไม่สําเร็จซึ่งอาจทําให้การตอบกลับในอนาคตสับสน
  • ให้การสนทนามุ่งเน้นไปที่ฟังก์ชันที่เกี่ยวข้อง

ปฏิบัติตามแนวทางปฏิบัติในการเขียนโค้ดที่ดี

คุณภาพของฐานรหัสที่มีอยู่ของคุณส่งผลต่อความสามารถของ Copilot ในการสร้างคําแนะนําที่เหมาะสม รักษามาตรฐานระดับสูงในโค้ดของคุณเพื่อรับความช่วยเหลือด้าน AI ที่ดีขึ้น

ปัจจัยด้านคุณภาพของโค้ด:

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

Note

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

ข้อความแจ้งที่ดีคือ:

  • ชัดเจน: อธิบายสิ่งที่คุณต้องการ
  • เฉพาะเจาะจง: รวมรายละเอียดเลย์เอาต์ ลักษณะการทํางาน หรือสไตล์
  • บริบท: อ้างอิงโค้ดหรือโครงสร้างที่มีอยู่

การทําซ้ําตามข้อความแจ้ง

หากการตอบสนองเริ่มต้นของ GitHub Copilot ไม่ตรงกับความคาดหวังของคุณ คุณอาจต้องทําซ้ําตามข้อความแจ้งของคุณ พิจารณากลยุทธ์เหล่านี้:

  • แก้ไขข้อความแจ้งให้เฉพาะเจาะจงมากขึ้น
  • เพิ่มบริบทลงในแชทเพื่อชี้แจงเป้าหมายหรือข้อกําหนดของคุณ
  • ใช้ Copilot Chat เพื่อถามคําถามติดตามผลที่สร้างขึ้นจากคําตอบก่อนหน้านี้

การประเมินและตอบสนองต่อข้อเสนอแนะของ Copilot

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

เมื่อใดที่ควรยอมรับคําแนะนํา

ยอมรับคําแนะนําของ Copilot เมื่อ:

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

ตัวอย่างคําแนะนําที่ดีในการยอมรับ:

พร้อมท์: "สร้างฟังก์ชันเพื่อตรวจสอบที่อยู่อีเมล"

Copilot แนะนํา:

function validateEmail(email) {
    const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
    if (typeof email !== 'string') {
        throw new Error('Email must be a string');
    }
    return emailRegex.test(email.toLowerCase());
}

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

เมื่อใดควรปฏิเสธคําแนะนํา

ปฏิเสธคําแนะนําของ Copilot เมื่อพวกเขา:

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

ตัวอย่างข้อเสนอแนะให้ปฏิเสธ:

พร้อมท์: "สร้างฟังก์ชันการตรวจสอบรหัสผ่านที่ปลอดภัย"

ข้อเสนอแนะไม่ดี:

function validatePassword(password) {
    return password.length > 6;
}

สิ่งนี้ควรถูกปฏิเสธเนื่องจากง่ายเกินไปสําหรับข้อกําหนดด้านความปลอดภัย และไม่ได้ตรวจสอบความแข็งแกร่งของรหัสผ่านอย่างถูกต้อง

เมื่อใดที่ควรแก้ไขคําแนะนํา

แก้ไขคําแนะนําของ Copilot เมื่อ:

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

ตัวอย่างคําแนะนําในการแก้ไข:

Copilot แนะนํา:

function calculateTotal(items) {
    let total = 0;
    for (let i = 0; i < items.length; i++) {
        total += items[i].price;
    }
    return total;
}

การปรับเปลี่ยนของคุณเพื่อการอ่านที่ดีขึ้นและ JavaScript ที่ทันสมัย:

function calculateTotal(items) {
    return items.reduce((total, item) => total + item.price, 0);
}

กลยุทธ์ในการปรับปรุงคําแนะนํา

เมื่อคําแนะนําไม่ถูกต้อง ให้ลองใช้วิธีการเหล่านี้:

ปรับแต่งข้อความแจ้งของคุณ:

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

ขอแก้ไข:

  • "ทําให้ฟังก์ชันก่อนหน้านี้แข็งแกร่งยิ่งขึ้นด้วยการจัดการข้อผิดพลาด"
  • "ลดความซับซ้อนของโค้ดที่คุณเพิ่งเขียน"
  • "เพิ่มประเภท TypeScript ให้กับฟังก์ชันก่อนหน้า"

สร้างทีละน้อย:

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

Tip

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

Summary

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