Table of Contents

5 งานที่นักพัฒนาสามารถทำได้เร็วขึ้นด้วย GitHub Copilot

Facebook
X
LinkedIn

นักพัฒนาซอฟต์แวร์ใช้เวลาส่วนสำคัญของวันทำงานไปกับงานอื่นนอกเหนือจากการสร้างฟีเจอร์ใหม่ของแอปพลิเคชัน นักพัฒนายังต้องเขียนโค้ดที่ทำซ้ำ ๆ ตรวจสอบข้อผิดพลาด เตรียมการทดสอบ ตรวจสอบการเปลี่ยนแปลง อัปเดตเอกสาร และค้นหาข้อมูลจากโค้ดเบสที่มีอยู่

แม้ว่างานแต่ละอย่างจะมีความสำคัญ แต่การสลับไปมาระหว่างโค้ด เอกสาร ผลการค้นหา เทอร์มินัล และเครื่องมือสำหรับการทำงานร่วมกันซ้ำ ๆ อาจรบกวนสมาธิในการทำงาน

GitHub Copilot คือผู้ช่วยเขียนโค้ดด้วย AI ที่ออกแบบมาเพื่อสนับสนุนนักพัฒนาในกิจกรรมเหล่านี้ โดยสามารถให้คำแนะนำโค้ดขณะที่นักพัฒนากำลังพิมพ์ ตอบคำถามเกี่ยวกับการเขียนโค้ดผ่านแชต ให้ความช่วยเหลือเกี่ยวกับคำสั่งบน Command Line สร้างคำอธิบาย Pull Request และช่วยค้นคว้าหรือแก้ไข Repository เพื่อให้นักพัฒนาตรวจสอบ

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

ต่อไปนี้คืองานเชิงปฏิบัติ 5 ประเภทที่นักพัฒนาสามารถทำได้เร็วขึ้นด้วย GitHub Copilot

1. การเขียนโค้ดที่ทำซ้ำและ Boilerplate

โครงการซอฟต์แวร์ส่วนใหญ่มักมีโค้ดที่เป็นไปตามรูปแบบที่สังเกตได้ ตัวอย่างเช่น Data Model, Constructor, กฎการตรวจสอบความถูกต้อง, API Handler, ไฟล์การกำหนดค่า, โครงสร้างการจัดการข้อผิดพลาด และฟังก์ชันสำหรับการสร้าง อ่าน อัปเดต หรือลบข้อมูล

ตัวอย่าง: ทีม E-commerce ต้องตรวจสอบคำสั่งซื้อใหม่ก่อนที่จะส่งไปยัง Payment Gateway แทนที่จะเขียนการตรวจสอบทั้งหมดตั้งแต่ต้น นักพัฒนาเขียน Comment ที่อธิบายสิ่งที่ต้องการ:

01 Writing repetitive and boilerplate code 1

GitHub Copilot สามารถแนะนำฟังก์ชันที่เขียนเสร็จสมบูรณ์ได้:

01.1 Writing repetitive and boilerplate code 2

แทนที่จะเริ่มต้นจากไฟล์เปล่า นักพัฒนาจะตรวจสอบ Logic ที่เสนอ ปรับข้อความข้อผิดพลาดให้ตรงกับแนวทางของแอปพลิเคชัน และเพิ่ม Unit Test สำหรับแต่ละกรณีที่เกิดข้อผิดพลาด

แนวทางนี้มีประโยชน์อย่างยิ่งสำหรับ:

    • การสร้างฟังก์ชันและคลาสทั่วไป
    • การสร้าง Data Model เบื้องต้น (เช่น คลาส Customer หรือ Invoice)
    • การตั้งค่า REST API Endpoint (เช่น Handler แบบ GET /products ที่รองรับ Pagination)
    • การจัดการรูปแบบการตรวจสอบความถูกต้องที่เกิดซ้ำ
    • การสร้าง Test Fixture และโครงสร้าง Unit Test
    • การแปลงรูปแบบที่มีอยู่เป็นภาษาโปรแกรมอื่น (เช่น แปลง Validator จาก Python เป็น TypeScript)

ข้อได้เปรียบหลักไม่ได้อยู่ที่การพิมพ์อักขระน้อยลงเพียงอย่างเดียว GitHub Copilot ช่วยให้นักพัฒนามีจุดเริ่มต้นที่เป็นประโยชน์ ทำให้สามารถให้ความสำคัญกับ Business Logic, Architecture, Performance และความต้องการของผู้ใช้ได้มากขึ้น

โค้ดที่สร้างขึ้นยังคงต้องถือเป็นคำแนะนำ ก่อนนำไปใช้งาน นักพัฒนาควรตรวจสอบการจัดการตัวแปร เงื่อนไขข้อผิดพลาด Dependencies ความปลอดภัย และความสอดคล้องกับมาตรฐานการเขียนโค้ดขององค์กร

2. การเขียนและปรับปรุง SQL Query

นักพัฒนาต้องทำงานกับฐานข้อมูลเป็นประจำเพื่อดึง กรอง รวม และสรุปข้อมูล แม้แต่นักพัฒนาที่มีประสบการณ์ก็อาจต้องตรวจสอบความสัมพันธ์ระหว่างตาราง ยืนยัน Syntax หรือเขียน Query ใหม่เมื่อเปลี่ยนไปใช้ระบบฐานข้อมูลอื่น

GitHub Copilot Chat สามารถตอบคำถามเกี่ยวกับการเขียนโค้ด ขณะที่คำแนะนำแบบ Inline สามารถช่วยนักพัฒนาในขณะที่กำลังเขียนโค้ดในสภาพแวดล้อมการพัฒนาที่รองรับ ซึ่งช่วยให้นักพัฒนามีจุดเริ่มต้นในการสร้างหรือปรับปรุง Structured Query Language หรือที่เรียกกันทั่วไปว่า SQL

ตัวอย่าง: ทีม Support ขอรายงานที่แสดงว่าลูกค้ารายใดไม่ได้สั่งซื้อสินค้าในช่วง 90 วันที่ผ่านมา เพื่อให้ทีม Marketing สามารถส่งอีเมลกระตุ้นการกลับมาใช้บริการอีกครั้ง นักพัฒนาอธิบายความต้องการไว้ใน Comment:

02 Writing and improving SQL queires

นักพัฒนายังคงต้องตรวจสอบชื่อตารางและคอลัมน์จริง ยืนยันฟังก์ชันวันที่ที่ถูกต้องสำหรับ Database Engine (MySQL, PostgreSQL หรือ SQL Server มีรายละเอียดแตกต่างกันเล็กน้อย) และทดสอบ Query กับสำเนาข้อมูลใน Staging ก่อนนำไปรันใน Production

GitHub Copilot ยังมีประโยชน์เมื่อนักพัฒนาต้องการ:

    • เพิ่มการจัดกลุ่มและการคำนวณแบบ Aggregate (เช่น รายได้รายเดือนแยกตามภูมิภาค)
    • แปลงข้อกำหนดทางธุรกิจให้เป็น Query เบื้องต้น
    • อธิบาย Legacy Query ที่ไม่คุ้นเคยซึ่งเขียนโดยนักพัฒนาคนก่อน
    • จัดรูปแบบ Query ที่ยาวและไม่มีการจัดย่อหน้าให้อ่านง่ายขึ้น
    • ชี้ให้เห็น Query ที่อาจได้รับประโยชน์จากการเพิ่ม Index
    • เตรียมข้อมูลตัวอย่างที่สมจริงสำหรับการทดสอบ

เพื่อให้ได้คำแนะนำที่เกี่ยวข้องมากขึ้น นักพัฒนาควรระบุโครงสร้างตารางจริง ชื่อฟิลด์ ผลลัพธ์ที่คาดหวัง และระบบฐานข้อมูล แทนที่จะใช้คำขอที่คลุมเครือ เช่น “ปรับปรุง SQL นี้”

สำหรับ Query ที่มีความสำคัญด้านประสิทธิภาพ นักพัฒนายังคงต้องตรวจสอบ Execution Plan, Index, ปริมาณข้อมูล และประสิทธิภาพจริงของฐานข้อมูล GitHub Copilot สามารถช่วยในการตรวจสอบได้ แต่ควรใช้การวัดผลจริงเพื่อยืนยันว่า Query มีประสิทธิภาพมากขึ้นจริงหรือไม่

3. การเขียนและปรับปรุง SQL Query

การ Debug มักต้องให้นักพัฒนาตรวจสอบข้อความข้อผิดพลาด ไล่ตาม Stack Trace ระบุโค้ดที่เกี่ยวข้อง จำลองปัญหา และทดสอบวิธีแก้ไขที่เป็นไปได้ การตรวจสอบอาจใช้เวลานานขึ้นเมื่อปัญหาเกี่ยวข้องกับโค้ดที่ไม่คุ้นเคยหรือข้อความข้อผิดพลาดไม่ชัดเจน

GitHub Copilot Chat ช่วยให้นักพัฒนาสามารถถามคำถามเกี่ยวกับโค้ดได้ นอกจากนี้ GitHub ยังระบุว่า Cloud Agent ของตนสามารถค้นคว้าภายใน Repository สร้างแผนการ Implement แก้ไขโค้ดบน Branch และเตรียมงานสำหรับการตรวจสอบโดยนักพัฒนาได้

ตัวอย่าง: หน้า Checkout ขัดข้องสำหรับลูกค้าที่ใช้โค้ดส่วนลดขณะที่ตะกร้าสินค้าว่าง Error Log แสดงว่า:

TypeError: Cannot read properties of undefined (reading ‘toFixed’) at calculateDiscount (cart.js:42)

นักพัฒนาแชร์ฟังก์ชันที่เกี่ยวข้องและข้อผิดพลาดกับ Copilot Chat:

This function throws “Cannot read properties of undefined (reading ‘toFixed’)” when the cart is empty. Explain the cause, propose the smallest safe fix, and write a test for both the empty-cart and normal-cart cases.

Copilot สามารถระบุได้ว่า cart.subtotal ไม่ได้ถูกกำหนดค่าเริ่มต้นเมื่อไม่มีสินค้า และแนะนำ Guard Clause:

03 Debugging and fixing

4. การเขียนและอัปเดตเอกสารทางเทคนิค

เอกสารมีความสำคัญต่อการดูแลรักษาซอฟต์แวร์ การถ่ายทอดความรู้ และการช่วยให้สมาชิกใหม่ในทีมเข้าใจโครงการ แต่บ่อยครั้งเอกสารถูกเลื่อนออกไป เพราะนักพัฒนาให้ความสำคัญกับฟีเจอร์ เหตุการณ์ Incident และคำขอจากลูกค้ามากกว่า

ตัวอย่างจากสถานการณ์จริง: นักพัฒนาเพิ่งสร้างฟังก์ชัน retryPayment() เสร็จ ซึ่งทีมอื่นจำเป็นต้องเรียกใช้งาน แทนที่จะเขียนเอกสารจากความจำ นักพัฒนาขอให้ Copilot:

Write documentation for this function. Include its purpose, parameters, return value, and what happens after 3 failed attempts. Do not describe behavior that is not present in the code.

04 Writing and updating technical documentation

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

GitHub ยังรองรับการสร้างสรุป Pull Request ด้วย AI ซึ่งอธิบายการเปลี่ยนแปลง ไฟล์ที่ได้รับผลกระทบ และส่วนที่ผู้ตรวจสอบควรให้ความสนใจ

คำสั่งสุดท้ายใน Prompt ข้างต้นมีความสำคัญ เพราะเอกสารที่สร้างโดย AI อาจฟังดูน่าเชื่อถือแม้ว่าบริบทที่มีอยู่จะไม่ครบถ้วน นักพัฒนาควรเปรียบเทียบทุกข้อความกับ Implementation จริง โดยเฉพาะจำนวนครั้งในการ Retry และประเภทของข้อผิดพลาด ก่อนเผยแพร่

GitHub มีตัวเลือกสำหรับการปรับแต่ง เช่น คำสั่งระดับ Repository, Prompt File ที่นำกลับมาใช้ซ้ำได้ และ Custom Agent ซึ่งช่วยให้องค์กรกำหนดมาตรฐานเอกสารที่สอดคล้องกันทั่วทั้งทีม

5. การตรวจสอบและ Refactor โค้ด

Code Review ช่วยรักษาคุณภาพ ความสามารถในการดูแลรักษา และความปลอดภัยของแอปพลิเคชัน นอกจากนี้ยังอาจใช้เวลานานเมื่อผู้ตรวจสอบต้องทำความเข้าใจการเปลี่ยนแปลงขนาดใหญ่ ค้นหาส่วนประกอบที่ได้รับผลกระทบ และระบุ Test ที่ขาดหายไป

ตัวอย่าง: Pull Request เพิ่มกฎการกำหนดราคาใหม่ แต่ผู้ตรวจสอบสังเกตว่าฟังก์ชันเติบโตจนต้องรองรับลูกค้า 5 ระดับ โดยใช้ If Statement ซ้อนกันหลายชั้น แทนที่จะไล่ตรวจสอบทุก Branch ด้วยตนเอง ผู้ตรวจสอบถาม Copilot:

ตรวจสอบฟังก์ชันกำหนดราคานี้สำหรับ Logic ที่ซ้ำกัน ชื่อที่ไม่ชัดเจน และกรณีทดสอบที่ขาดหายไปสำหรับระดับ “enterprise” อธิบายแต่ละปัญหาก่อนเสนอการเปลี่ยนแปลง ห้ามเปลี่ยน Public Interface

Review this pricing function for repeated logic, unclear naming, and missing test cases for the “enterprise” tier. Explain each issue before suggesting a change. Do not change the public interface.

Copilot อาจชี้ให้เห็นว่าระดับ “gold” และ “platinum” ใช้ Logic ส่วนลดเหมือนกัน และแนะนำให้รวม Logic ดังกล่าวเข้าด้วยกัน

05 Reviewing and refactoring code

วิธีรับผลลัพธ์ที่ดีขึ้นจาก GitHub Copilot

คุณภาพของคำแนะนำที่สร้างโดย AI ขึ้นอยู่กับการกำหนดงานและบริบทที่ให้ไว้เป็นอย่างมาก องค์กรสามารถส่งเสริมให้นักพัฒนาปฏิบัติตามหลักการเชิงปฏิบัติหลายประการ

กำหนดคำขอให้เฉพาะเจาะจง

แบ่งงานพัฒนาที่มีขอบเขตกว้างออกเป็นงานย่อยที่มีผลลัพธ์ชัดเจน GitHub แนะนำให้ระบุคำอธิบายที่ชัดเจน เกณฑ์การยอมรับ และคำแนะนำเกี่ยวกับไฟล์ที่เกี่ยวข้องสำหรับงานที่มอบหมายให้ Cloud Agent

อธิบายผลลัพธ์ที่คาดหวัง

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

ให้บริบทที่เหมาะสม

รวมฟังก์ชัน Schema ข้อความข้อผิดพลาด Test หรือคำสั่งของโครงการที่เกี่ยวข้อง หลีกเลี่ยงการแชร์โค้ดที่ไม่เกี่ยวข้องหรือข้อมูลที่มีความละเอียดอ่อน

ตรวจสอบทุกคำแนะนำ

นักพัฒนาควรเข้าใจโค้ดที่เสนอ ก่อนยอมรับผลลัพธ์ที่สร้างขึ้นควรผ่านข้อกำหนดเดียวกันกับโค้ดที่เขียนด้วยตนเอง ทั้งในด้านการ Review, Testing, Security และ Quality

GitHub Copilot ช่วยให้นักพัฒนามุ่งเน้นกับงานที่มีมูลค่าสูงกว่า

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

เป้าหมายไม่ใช่การนำมนุษย์ออกจากกระบวนการพัฒนาซอฟต์แวร์ แต่คือการลดความพยายามที่ต้องใช้กับงานซ้ำ ๆ เพื่อให้นักพัฒนามีเวลามากขึ้นในการทำความเข้าใจข้อกำหนด ตัดสินใจด้านเทคนิค แก้ปัญหาทางธุรกิจ และปรับปรุงประสบการณ์ผู้ใช้

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

สรุป

5 งานที่นักพัฒนาสามารถทำได้เร็วขึ้นด้วย GitHub Copilot ได้แก่:

    1. การเขียนโค้ดที่ทำซ้ำและ Boilerplate
    2. การเขียนและปรับปรุง SQL Query
    3. การ Debug และแก้ไขปัญหาซอฟต์แวร์
    4. การเขียนและอัปเดตเอกสารทางเทคนิค
    5. การตรวจสอบและ Refactor โค้ด

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

Fusion Solution ช่วยให้องค์กรประเมิน นำไปใช้ และบริหารจัดการ GitHub Copilot สำหรับทีมพัฒนา ตั้งแต่การวางแผนเบื้องต้นและการทดลองใช้งาน ไปจนถึง Governance และการเสริมศักยภาพของทีม ผู้เชี่ยวชาญของเราสามารถช่วยให้องค์กรนำการพัฒนาที่มี AI เข้ามาช่วยมาใช้อย่างมีความรับผิดชอบ

พร้อมที่จะสำรวจ GitHub Copilot สำหรับทีมพัฒนาของคุณแล้วหรือยัง? ติดต่อ Fusion Solution เพื่อขอคำปรึกษาและการสนับสนุนด้านการ Implement

คุณสนใจ GitHub Copilot หรือไม่?

สำรวจเครื่องมือดิจิทัลของเรา

หากคุณสนใจในการนำระบบจัดการความรู้มาใช้ในองค์กรของคุณ ติดต่อ SeedKM เพื่อขอข้อมูลเพิ่มเติมเกี่ยวกับระบบจัดการความรู้ภายในองค์กร หรือสำรวจผลิตภัณฑ์อื่นๆ เช่น Jarviz สำหรับการบันทึกเวลาทำงานออนไลน์, OPTIMISTIC สำหรับการจัดการบุคลากร HRM-Payroll, Veracity สำหรับการเซ็นเอกสารดิจิทัล, และ CloudAccount สำหรับการบัญชีออนไลน์

อ่านบทความเพิ่มเติมเกี่ยวกับระบบจัดการความรู้และเครื่องมือการจัดการอื่นๆ ได้ที่ Fusionsol BlogIP Phone BlogChat Framework Blog, และ OpenAI Blog, Digital Signature, E Signature, E Learning, Online Learning

ถ้าอยากติดตามข่าวเทคโนโลยีและข่าว AI ที่กำลังเป็นกระแสทุกวัน ลองเข้าไปดูที่ เว็บไซต์นี้ มีอัปเดตใหม่ๆ ให้ตามทุกวันเลย!

Related Articles

Facebook
X
LinkedIn

Popular Blog posts