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