Prompt การทำ Debug Sheet
บทความนี้จะสอนวิธีการสร้าง Debug Sheet (ตารางตรวจสอบค่าตัวแปร) จากโค้ดโปรแกรมด้วยเครื่องมือ AI เพื่อช่วยในการทำความเข้าใจการทำงานของ Logic ภายในโค้ดแบบละเอียด เหมาะสำหรับนักพัฒนาที่ต้องการฝึกฝนทักษะการไล่โค้ด (Code Tracing)
1. วัตถุประสงค์ของการใช้ Debug Sheet
Debug Sheet หรือ Trace Table คือเครื่องมือที่ใช้จำลองการทำงานของคอมพิวเตอร์ทีละบรรทัด เพื่อบันทึกการเปลี่ยนแปลงของค่าตัวแปรและเงื่อนไขทั้งหมดในระบบ
ประโยชน์หลัก:
ฝึกฝนความเข้าใจเชิงลึก: บังคับให้ผู้เรียนติดตามค่าตัวแปรทุกตัวในทุกขั้นตอน โดยเฉพาะอย่างยิ่งภายใน Loop และการเรียกใช้ Function ซึ่งช่วยป้องกันการคาดเดาและเสริมสร้างความเข้าใจ Logic ของโปรแกรมอย่างแท้จริง
การมองเห็นภาพรวม: ช่วยให้นักพัฒนาเห็นภาพรวมว่าตัวแปรใดถูกอัปเดตเมื่อใด เงื่อนไข
if/elseทำงานเป็นจริงหรือเท็จ และ Flow การทำงานของโปรแกรมดำเนินไปอย่างไร
2. การกำหนด Prompt เพื่อสร้างตารางมาตรฐาน
การสั่ง AI ให้สร้างตาราง Debug Sheet ที่สมบูรณ์แบบนั้น ต้องใช้ Prompt ที่มีข้อจำกัดและรายละเอียดสูง เพื่อให้ AI ทำหน้าที่เป็นเสมือน “เครื่องมือ Debugging อัตโนมัติ” ที่แสดงผลตามที่เราต้องการ
ข้อกำหนดหลักที่ต้องระบุใน Prompt:
Output Format ชัดเจน: ต้องระบุว่าต้องการตารางที่พร้อมนำไปวางใน Google Spreadsheet เพื่อความสะดวกในการใช้งานต่อ
ขอบเขตการติดตาม: เน้นย้ำให้ติดตามการเปลี่ยนแปลงของ ตัวแปรทั้งหมดในโปรแกรม และต้องแสดงผลการทำงานของ ทุกรอบ Loop และการทำงานภายใน ทุก Function
รายละเอียด Logic: AI ต้องระบุว่าเงื่อนไข (Condition) ในส่วน
if/elseนั้นเป็นจริงหรือเท็จ และนำไปสู่การทำงานในบล็อกใดการจัดการค่าว่าง: กำหนดให้ใช้เครื่องหมาย “-” ในช่องที่ไม่มีการเปลี่ยนแปลงค่าเกิดขึ้น เพื่อรักษาความชัดเจนของตาราง
3. Prompt สำเร็จรูปที่พร้อมใช้งาน
คุณสามารถคัดลอก Prompt ด้านล่างนี้ไปใช้ได้ทันที โดยวางโค้ดโปรแกรมของคุณในส่วนที่กำหนด เพื่อให้ได้ตาราง Debug Sheet ที่สมบูรณ์แบบตามวัตถุประสงค์ที่กล่าวมา
จัดทำตาราง Debug Sheet ใส่ใน Google Spreadsheet จากโค้ดด้านล่างต่อไปนี้
วัตถุประสงค์คือ ต้องการมองเห็นภาพรวมการทำงานทั้งหมดของโปรแกรม และต้องการมองเห็นว่า
- ในส่วนของแต่ละ Loop ค่าตัวแปรตัวไหน มีการเปลี่ยนแปลงบ้าง แล้วตัวแปรแต่ละตัวตอนที่กำลังเปลี่ยนค่าใน Loop แต่ละตัวแปรกำลังเก็บค่าอะไรอยู่บ้าง แต่สน logic เป็นจริงหรือเท็จ เข้าไปทำงานต่อใน if หรือ else ต่อไหม หรือว่าจบ loop เลย
- เพื่อให้นักศึกษาปี 1 ที่พึ่งหัดเขียนโปรแกรมมาใหม่ๆ ได้ลองฝึกชำแหละโค้ดของตัวเองแบบละเอียด ให้เข้าใจโค้ดของตัวเอง และเข้าใจ logic ทั้งหมดอย่างถ่องแท้ จริงจำเป็นต้องมองเห็นการเปลี่ยนแปลงค่าทุกอย่างที่เกิดขึ้นจากการทำงานจริง
- หากมีการเรียกใช้ฟังก์ชัน ก็ต้องมีการแจกแจงค่าในฟังก์ชันอีกว่าส่งอะไรไป แล้วในฟังก์ชันเกิดอะไรขึ้น มีการส่งกลับค่าไหม
- ระหว่างที่มีการ debug หากมันไม่มีค่าอะไรปรากฏ ให้ใส่เครื่องหมาย "-" จะได้รู้ว่าไม่มีอะไรเกิดขึ้น แต่ควรปรากฏตัวเลข หรือ การแสดงผล ชัดเจนเกือบทุกช่องนะ ไม่ใช่ใส่มาแต่เครื่องหมาย "-" เต็มหน้าไปหมด
- เน้นเรื่องการเปลี่ยนแปลงตัวแปร Loop กับฟังก์ชันเป็นหลัก โดยที่หัวตารางจะต้องบอกชัดเจนว่าอยากเห็นตัวแปรอะไรบ้าง (ใส่มาให้หมดทั้งโปรแกรม) ดังนั้นตารางนี้จะขยายไปทางขวาค่อนข้างเยอะเพราะตัวแปรในโปรแกรมมีเยอะ ส่วนค่าต่างๆ ก็จะเกิดขึ้นหลายแถวตามแต่ละ Loop และแต่ละฟังก์ชันที่เจอในโค้ด
นี่คือโค้ดโปรแกรม
-----------------------------------------------------------------------------
การใช้ Prompt ที่ละเอียดในลักษณะนี้ คือการสร้าง Custom Tool ภายใน AI ที่ช่วยให้การตรวจสอบ Logic ของโค้ดเป็นไปอย่างมีประสิทธิภาพ และเป็นประโยชน์อย่างยิ่งในการเรียนรู้การทำงานเชิงลึกของโค้ดโปรแกรม