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