สิ่งที่ GitHub Copilot เพิ่มในกระบวนการตรวจสอบ

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

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

ในตอนท้ายของหน่วยนี้ คุณจะสามารถ:

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

คุณสมบัติหลักของ Copilot ในการตรวจสอบโค้ด

Copilot แนะนําคุณสมบัติหลายอย่างที่ออกแบบมาเพื่อปรับปรุงบทวิจารณ์:

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

  • การแก้ไขความปลอดภัย: ด้วยการตรวจสอบโค้ด Copilot ที่รวมอยู่ในการสแกนโค้ด GitHub ช่องโหว่จะถูกตั้งค่าสถานะในหลายภาษา ตัวอย่างเช่น ใน JavaScript Copilot สามารถระบุอินพุตที่ไม่ถูกสุขอนามัยที่ส่งไปยัง eval() และแสดงความคิดเห็น:

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

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

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

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

ทําความเข้าใจว่า PRU ปลดล็อกความสามารถในการตรวจสอบขั้นสูงได้อย่างไร

PRU ขับเคลื่อนความสามารถขั้นสูงเหล่านี้ ตัวอย่างเช่น การมอบหมาย Copilot เป็นผู้ตรวจสอบการประชาสัมพันธ์จะใช้ PRU ทุกครั้งที่โพสต์ความคิดเห็น เมื่อรวมกับไฟล์ที่กําหนดเอง .github/copilot-instructions.md บทวิจารณ์ที่ขับเคลื่อนโดย PRU จะสอดคล้องกับกฎของทีม ไม่ว่าจะเน้นที่ความสามารถในการอ่าน ความปลอดภัย หรือสไตล์

ตัวอย่าง:

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

"การใช้ of exec() ทําให้เกิดช่องโหว่ในการแทรกโค้ด พิจารณาแทนที่ด้วย subprocess.run() การดําเนินการคําสั่งที่ปลอดภัยยิ่งขึ้น นี่คือแพตช์ที่แนะนํา:"

และให้การแก้ไขโค้ดแบบอินไลน์

ห้าวิธีที่แตกต่างกัน Copilot review ช่วยนักพัฒนา

ต่อไปเราจะทบทวนว่าการตรวจสอบ Copilot สามารถช่วยให้คุณทํางานได้อย่างชาญฉลาดยิ่งขึ้นด้วย:

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

การใช้คําแนะนํา Copilot ในการตรวจสอบโค้ด

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

ตัวอย่างเช่น ขณะตรวจสอบไฟล์ Ruby ด้วยตรรกะซ้ําๆ คุณสามารถเน้นบรรทัดที่เกี่ยวข้องและถาม:

"แนะนํา Ruby refactor ที่สะอาดกว่าสําหรับรหัสซ้ํานี้"

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

การตรวจสอบในหลายภาษา

เมื่อคุณร้องขอการตรวจสอบโค้ด Copilot สามารถเน้นส่วนที่ไม่เป็นไปตามแนวทางปฏิบัติที่ดีที่สุดหรือแนวทางปฏิบัติของทีมได้โดยอัตโนมัติ

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

ภาพหน้าจอของคําขอดึงข้อมูล GitHub ที่แสดงคําแนะนํารหัสเพื่อแทนที่การประกาศตัวแปรด้วยการประกาศตัวแปรแบบสั้นในโปรแกรม Go

การจัดรูปแบบข้อมูลสําหรับคําขอดึงข้อมูล

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

ตัวอย่าง: นักพัฒนาซอฟต์แวร์ส่งคําขอดึงข้อมูลพร้อมตารางเวลาในการโหลดหน้าเว็บต่อไปนี้ อ่านยากและไม่ทําตามคู่มือสไตล์ Markdown ของทีม:

ทดสอบการทํางาน LoadTime ก่อน โหลดไทม์หลัง
1.3 1.2
1.2 1.1
1.1 0.885
1.3 1.3
1.2 0.918
Average 1.22 1.0806

ในระหว่างการตรวจสอบ Copilot โพสต์ความคิดเห็น:

"ตารางนี้ไม่เป็นไปตามหลักเกณฑ์ Markdown ของที่เก็บของคุณ นี่คือเวอร์ชันที่ทําความสะอาดตามคู่มือสไตล์ของบริษัทของคุณ"

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

ทดสอบการทํางาน โหลดเวลาก่อน (วินาที) เวลาในการโหลดหลังจากอัปเดต (วินาที)
1 1.3 1.2
2 1.2 1.1
3 1.1 0.885
4 1.3 1.3
5 1.2 0.918
เฉลี่ย 1.22 1.0806

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

นี่แสดงให้เห็นว่า Copilot ทําหน้าที่เป็นผู้ตรวจสอบอัตโนมัติ (ไม่ใช่ตัวแทนการเข้ารหัส): จะเห็นตารางที่ไม่ได้จัดรูปแบบ ใช้แนวทางของบริษัทจาก .github/copilot-instructions.mdและจัดหาเวอร์ชันที่แก้ไขแล้วแบบอินไลน์

การเขียนสรุปคําขอดึงข้อมูลที่มีประสิทธิภาพ

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

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

การอธิบายและตรวจสอบโค้ด

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

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