การใช้ AI ในเวิร์กโฟลว์การพัฒนาซอฟต์แวร์ประจำวันของคุณ

AI ไม่ได้มาแทนที่การตัดสินใจทางวิศวกรรม แต่มันช่วยลดระยะเวลาระหว่างการติดขัดไปจนถึงการค้นพบวิธีแก้ปัญหา

เลิกสั่ง AI ว่า "ทำให้โค้ดดีขึ้น" แต่ให้ใช้วิธีการที่นำไปใช้ได้จริง 5 วิธีนี้แทน

  1. ค้นหาคอขวดด้านประสิทธิภาพ (Performance Bottlenecks) ใช้ AI เพื่อสร้างเช็คลิสต์สำหรับการตรวจสอบ (Audit) โดยขอให้ระบุการวัดผลที่เฉพาะเจาะจง เช่น:
  • จำนวนการเรียกใช้งานฐานข้อมูล (Database call counts)
  • Network waterfalls
  • ขนาดของ Bundle
  • RUM และ server timings
  • คะแนน Lighthouse
  1. สร้างกรณีทดสอบ (Test Cases) ที่คาดไม่ถึง ส่ง Function signature หรือ Spec ให้ AI แล้วสั่งให้หา:
  • กรณีขอบเขต (Boundary cases)
  • อินพุตที่แปลกประหลาด
  • Race conditions
  • ไอเดียสำหรับการทำ Property-based testing นำคำแนะนำเหล่านี้ไปสร้างเป็นชุดทดสอบจริงเพื่อเพิ่มความน่าเชื่อถือ
  1. รีแฟกเตอร์ (Refactor) ภายใต้ข้อจำกัด Prompt ที่คลุมเครือจะนำไปสู่โค้ดที่แย่ ให้ใช้คำสั่งที่เฉพาะเจาะจง:
  • "ลดความซับซ้อนของ cyclomatic complexity โดยไม่เปลี่ยนพฤติกรรมของโค้ด"
  • "แยกส่วนออกมาเป็น pure functions และทำให้ side effects ชัดเจน"
  • "คง public API ไว้เหมือนเดิม แต่ปรับปรุงการตั้งชื่อให้ดีขึ้น" ข้อจำกัดจะช่วยให้การตรวจสอบผลลัพธ์ทำได้ง่ายขึ้น
  1. ขอคำอธิบายที่เจาะจงตามบริบท AI จะช่วยให้คุณเรียนรู้ได้เร็วขึ้นเมื่อคุณให้รายละเอียดของโปรเจกต์ ลองถามว่า:
  • "ทำไม React ถึงเรนเดอร์สองครั้งใน StrictMode?"
  • "จาก SQL query plan นี้ อะไรคือสาเหตุของความล่าช้า (Lag)?"
  • "ฉันควรวาง validation นี้ไว้ตรงไหนใน codebase ชุดนี้?"
  1. ทำตามวงจรการตรวจสอบ (Validation Loop) AI มักจะให้ข้อมูลที่ผิดพลาดด้วยความมั่นใจสูง ให้ปฏิบัติตามกฎเหล่านี้:
  • ถ้าคอมไพล์ผ่าน ให้ทดสอบมัน
  • ถ้าเกี่ยวข้องกับความปลอดภัย ให้ตรวจสอบซ้ำสองรอบ
  • ถ้ามันระบุข้อเท็จจริง ให้ตรวจสอบแหล่งที่มา

ใช้เทมเพลต Prompt นี้เพื่อให้ได้ผลลัพธ์ที่ดีขึ้น:

  • Goal: สิ่งที่คุณต้องการบรรลุ
  • Context: ภาษาและเฟรมเวิร์กที่คุณใช้
  • Input: โค้ด, Log หรือ Error ของคุณ
  • Output format: แบบรายการ (Bullets), ขั้นตอน (Steps) หรือ diff
  • Constraints: ประสิทธิภาพ, ความอ่านง่าย หรือห้ามเพิ่ม dependencies ใหม่

ตัวอย่าง: Goal: ลดความหน่วง (Latency) ของ API Context: Node.js และ Postgres Input: โค้ด Endpoint และ Query Output: รายการการปรับปรุง 5 อย่าง Constraints: ห้ามเปลี่ยน Schema ใน sprint นี้

คุณใช้ AI ในการทำงานประจำวันอย่างไรบ้าง?

Source: https://dev.to/imkrunal/using-ai-in-your-daily-dev-workflow-without-the-hype-57b1

Optional learning community: https://t.me/GyaanSetuAi