ผลิตภัณฑ์ AI ได้ปฏิวัติการพัฒนาซอฟต์แวร์หรือการเขียนโค้ดในยุคปัจจุบัน เมื่อใช้ AI เราสามารถสร้างโค้ดโปรแกรมได้โดยอัตโนมัติ รวมทั้งแก้ไขและเพิ่มประสิทธิภาพโค้ดเหล่านั้นได้ การปรับโครงสร้างรหัสใหม่ - ในบทความนี้ เราจะสำรวจกระบวนการปรับโครงสร้างใหม่และดูว่าคุณสามารถทำได้อย่างไร ใช้ Copilot กับโค้ดตัวหักเห -
การปรับโครงสร้างโค้ดคืออะไร
ในการพัฒนาซอฟต์แวร์หรือแอปพลิเคชัน การปรับโครงสร้างโค้ดหมายถึงการสร้างใหม่หรือการจัดเรียงซอร์สโค้ดของโปรแกรมใหม่โดยยังคงฟังก์ชันการทำงานดั้งเดิมไว้ กระบวนการนี้มีจุดมุ่งหมายเพื่อปรับปรุงโครงสร้างและการออกแบบของซอฟต์แวร์และลดความซับซ้อน การบูรณาการ AI เข้ากับการปรับโครงสร้างโค้ดช่วยให้เราระบุปัญหาประสิทธิภาพของซอฟต์แวร์ได้ทันที และลดความซับซ้อนของอัลกอริธึมเพื่อปรับปรุงประสิทธิภาพโดยรวม
Copilot สามารถช่วยในการสร้างรหัสใหม่ได้อย่างไร
สามารถวิเคราะห์ส่วนใดส่วนหนึ่งของโค้ดและให้คำแนะนำเพื่อปรับปรุงโครงสร้างให้เป็นรูปแบบที่สะอาดตาและใช้งานง่ายเพื่อลดความซับซ้อน คำแนะนำที่ให้ไว้จะขึ้นอยู่กับสิ่งต่อไปนี้:
- ระบุปัญหาเกี่ยวกับรหัสที่มีอยู่: Copilot สแกนไฟล์โค้ดทั้งหมดเพื่อเน้นส่วนหรือพื้นที่ที่จะปรับโครงสร้างใหม่โดยการชี้โค้ดที่ซ้ำกัน ตัวแปรที่ไม่ได้ใช้หรือไม่ชัดเจน ฯลฯ
- แนะนำตัวเลือกที่มีประสิทธิภาพ: เมื่อปรับโครงสร้างโค้ดใหม่ Copilot จะวิเคราะห์โค้ดที่มีอยู่และแนะนำทางเลือกที่มีประสิทธิภาพซึ่งสามารถสร้างผลลัพธ์เดียวกันแต่ทำให้โค้ดดูสะอาดตายิ่งขึ้น คำแนะนำเหล่านี้รวมถึงการใช้ภาษาที่มีประสิทธิภาพสำหรับการตั้งชื่อตัวแปร วิธีการ และโครงสร้างข้อมูล
- ตรวจสอบให้แน่ใจว่ารหัสที่บำรุงรักษาได้: ข้อเสนอแนะแบบเรียลไทม์ช่วยให้เราหลีกเลี่ยงการรวมข้อบกพร่องใดๆ โดยทั่วไปข้อเสนอแนะจะขึ้นอยู่กับแนวทางปฏิบัติที่ดีที่สุดของหลักการเขียนโปรแกรมที่สามารถช่วยรักษาโครงสร้างโค้ดที่เหมาะสม ทำให้ผู้อื่นเข้าใจและแก้ไขสิ่งเดียวกันได้ง่ายขึ้นหากจำเป็น
วิธีใช้ Copilot เป็นโค้ด Refractor
หากต้องการใช้ Copilot สำหรับการปรับโครงสร้างใหม่ เราสามารถเริ่มต้นด้วย การติดตั้ง GitHub Copilot ส่วนขยายสำหรับภาษาที่เกี่ยวข้อง (VS Code, Python ฯลฯ) ตัวอย่างเช่น หากเราต้องการสร้างซอร์สโค้ดที่เขียนด้วย Python ใหม่ เราสามารถติดตั้งปลั๊กอิน Copilot ได้โดย:
- คลิกเพื่อเปิดตัวเลือกการตั้งค่าใน Integrated Development Environment หรือ IDE ( JavaScript หรือ Python)
- คลิกที่ตัวเลือกปลั๊กอินทางด้านซ้าย
- คลิกที่ ตลาด ตัวเลือกและค้นหา นักบิน GitHub เสียบเข้าไป.
- เมื่อพบแล้วให้คลิกที่ ติดตั้ง เพื่อติดตั้งปลั๊กอิน
- IDE จะแจ้งให้รีสตาร์ทเมื่อการติดตั้งเสร็จสิ้น หลังจากรีสตาร์ทแล้ว ให้เปิด IDE แล้วคลิก เครื่องมือ -> GitHub Copilot -> เข้าสู่ระบบ GitHub
สปอตไลท์ของหน้าต่างเช่นสิ่งที่คุณเห็นหายไป
- หลังจากเข้าสู่ระบบสำเร็จ Copilot จะพร้อมใช้งาน
- หากต้องการใช้ Copilot คุณสามารถใช้ทางลัดด้านล่างขณะเขียนโค้ดได้
การกระทำ | วินโดวส์/ลินุกซ์ | แมคโอเอส |
ทริกเกอร์คำแนะนำแบบอินไลน์ | อัลท์+\ | ตัวเลือก+\ |
ดูคำแนะนำถัดไป | Alt+] | ตัวเลือก+] |
ดูคำแนะนำก่อนหน้า | Alt+[ | ตัวเลือก+[ |
ยอมรับข้อเสนอแนะ | แท็บ | แท็บ |
ปิดคำแนะนำแบบอินไลน์ | Esc | Esc |
แสดงคำแนะนำทั้งหมดในแท็บใหม่ | Alt+ป้อน | Alt+ป้อน |
ที่เกี่ยวข้อง: วิธีดูโค้ดที่ดาวน์โหลดจาก GitHub
ตัวอย่างที่ 1: เพื่อลดความซับซ้อนของโค้ดที่ซับซ้อน
ให้เราพิจารณาข้อมูลโค้ดด้านล่างเพื่อสาธิตวิธีการลดความซับซ้อนของโค้ดโดยใช้ฟีเจอร์การปรับโครงสร้างใหม่ของ Copilot เรากำลังพิจารณาเพียงส่วนหนึ่งของโปรแกรมขนาดใหญ่เพื่อความสะดวกในการทำความเข้าใจ:
ก่อนที่จะรีแฟคเตอร์
ยกเลิกการผสานเซลล์ใน excel
public void processOrder(Order order) { // ... further codes if (order.isReadyForProcessing()) { // process the order } //... further codes }
หลังจาก Refactoring ด้วย Copilot แล้ว
public void processOrder(Order order) { // ...further codes processReadyOrder(order); // ...further codes }
private void processReadyOrder(Order order) { if (order.isReadyForProcessing()) { // process the order } }
ในตัวอย่างข้างต้น รหัสชุดแรก ( ก่อนการปรับโครงสร้างใหม่) ประกอบด้วยฟังก์ชันหรือเมธอดที่มีชื่อ กระบวนการสั่งซื้อ, ซึ่งดำเนินการขั้นตอนในการประมวลผลคำสั่งซื้อเฉพาะ ก่อนประมวลผลคำสั่งซื้อ คำสั่ง IF แบบมีเงื่อนไขจะตรวจสอบว่าคำสั่งซื้อพร้อมสำหรับการประมวลผลหรือไม่ใช้งาน ถ้า (order.isReadyForProcessing()) การทำงาน. ในชุดโค้ดนี้ ตรรกะการประมวลผลจะรวมอยู่ในฟังก์ชันหลัก ซึ่งทำให้เป็นแบบโมดูลาร์น้อยลง
ในข้อมูลโค้ดต่อไปนี้ เรามี กระบวนการสั่งซื้อ ฟังก์ชั่นในการประมวลผลคำสั่งซื้อ อย่างไรก็ตาม ตรรกะในการตรวจสอบว่าคำสั่งซื้อพร้อมสำหรับการประมวลผลหรือไม่ และการประมวลผลคำสั่งซื้อที่พร้อมได้ถูกย้ายไปยังฟังก์ชันแยกต่างหากที่ชื่อ กระบวนการReadyOrder. ซึ่งจะช่วยแยกแต่ละวิธีเพื่อให้โค้ดมีความชัดเจนและเป็นโมดูล
ตัวอย่างที่ 2: การเปลี่ยนชื่อตัวแปร
ก่อนที่จะรีแฟคเตอร์
def calculate_area(l, w): return l * w
หลังจาก Refactoring ด้วย Copilot แล้ว
def calculate_area(length, width): return length * width
หลังจากการปรับโครงสร้างใหม่ ตัวแปร 'l' และ 'w' จะถูกแทนที่ด้วยความยาวและความกว้าง ซึ่งเพิ่มความชัดเจนของโค้ดผ่านการเปลี่ยนชื่อตัวแปรซึ่งเป็นคุณลักษณะที่สำคัญของการปรับโครงสร้างใหม่
แม้ว่า Copilot สามารถช่วยเราสร้างโค้ดขึ้นมาใหม่ได้ แต่ก็มีข้อจำกัดหลายประการ เช่น คำแนะนำที่ไม่ถูกต้อง การพึ่งพามากเกินไป และการหักล้างโค้ดที่ล้าสมัย เมื่อคุณมีข้อเสนอแนะแล้ว ตรวจสอบให้แน่ใจว่าคุณได้ผ่านการตรวจสอบด้วยตนเองทั้งหมดและ ใช้คำแนะนำที่ถูกต้อง
GitHub Copilot ได้รับการฝึกอบรมเกี่ยวกับข้อมูลใดบ้าง
GitHub Copilot ได้รับการฝึกอบรมเกี่ยวกับข้อความภาษาธรรมชาติและซอร์สโค้ดจากแหล่งที่เปิดเผยต่อสาธารณะ รวมถึงโค้ดในที่เก็บข้อมูลสาธารณะบน GitHub ขับเคลื่อนโดยโมเดล AI ทั่วไปที่ GitHub, OpenAI และ Microsoft พัฒนาขึ้น
ภาษาโปรแกรมที่รองรับ Copilot คืออะไร
Github Copilot รองรับภาษาต่างๆ แต่ทำงานได้ดีเป็นพิเศษกับ JavaScript, TypeScript, Ruby, Python, Go, C++ และ C#