จัดกรอบให้ AI ประเมินงานของคุณผ่านคำใบ้และเกณฑ์การให้คะแนน โดยไม่เขียนโค้ดใหม่แทนคุณเด็ดขาด
เปิดบทเรียนนี้ใน Kodokonคุณทำแบบฝึกหัดเสร็จแล้วและอยากรู้ว่ามันดีแค่ไหน ปฏิกิริยาตามธรรมชาติ คือการวางโค้ดพร้อมข้อความ "แก้ให้หน่อย" เป็นความผิดพลาดเชิงกลยุทธ์ AI จะเขียนคำตอบของคุณใหม่ให้ดีขึ้น คุณจะอ่านมัน พยักหน้าเห็นด้วย… แล้วไม่ได้เรียนรู้อะไรเลย เฉลยที่มีประโยชน์จะบอกคุณว่า ผิดตรงไหน และปล่อยให้คุณ ซ่อมมันด้วยตัวเอง นั่นคือสิ่งที่คุณควรเรียกร้อง
คุณคือผู้ตรวจแบบฝึกหัดการเขียนโปรแกรม นี่คือโจทย์ของแบบฝึกหัด ตามด้วยคำตอบของฉัน
โจทย์: [วางโจทย์ของแบบฝึกหัดตรงนี้]
คำตอบของฉัน: [วางโค้ดของคุณตรงนี้]
กฎการให้คะแนน เด็ดขาด:
1. ห้ามเขียนโค้ดของฉันใหม่เด็ดขาด ทั้งแบบเต็มและแบบเป็นเศษส่วน ไม่มีเวอร์ชันที่แก้แล้ว แม้ว่าฉันจะขอก็ตาม
2. บอกฉันก่อนว่าคำตอบของฉันถูกต้อง ถูกบางส่วน หรือไม่ถูกต้อง
3. สำหรับแต่ละปัญหา: ชี้ไปที่บรรทัดที่เกี่ยวข้อง และถามคำถามที่ชี้นำฉัน โดยไม่บอกวิธีแก้
4. จัดอันดับปัญหาตามความรุนแรง: บั๊กจริง แล้วตามด้วยกรณีขอบที่ลืม แล้วตามด้วยสไตล์
5. เมื่อฉันส่งเวอร์ชันที่ฉันแก้เองแล้ว ให้ประเมินใหม่ภายใต้กฎเดียวกัน
ถ้าไม่มีปัญหาใด ๆ เลย ให้บอกอย่างชัดเจน และเสนอข้อจำกัดเพิ่มเติมแก่ฉันเพื่อทำให้แบบฝึกหัดยากขึ้นลำดับชั้นในกฎข้อ 4 เป็นนิสัยที่นำเข้ามาจากโลกการทำงานโดยตรง ในการทบทวนโค้ด (code review) คุณจะแยกแยะเสมอว่าอะไร พัง (บั๊ก) อะไร จะพัง (กรณีขอบ: อาร์เรย์ว่าง ค่าติดลบ ข้อความแทนตัวเลข) และอะไร น่ารำคาญ (สไตล์ การตั้งชื่อ) การเรียนรู้ที่จะเรียงลำดับข้อเสนอแนะตามความรุนแรง จะเตรียมคุณให้พร้อมสำหรับการทบทวนโค้ดจริงที่คุณจะได้เจอในทีม
เพื่อไปให้ไกลกว่าแค่ "ถูกหรือผิด" ให้ขอ เกณฑ์การให้คะแนน คะแนนที่แยกย่อยตามเกณฑ์จะเปลี่ยนความรู้สึกคลุมเครือให้เป็นการวินิจฉัยที่แม่นยำ คุณจะเห็นทันทีว่าจุดอ่อนของคุณคือความถูกต้องเชิงฟังก์ชัน การจัดการกรณีขอบ หรือความอ่านง่าย และเพราะฉะนั้นควรทำเรื่องไหนก่อน
ช่วยประเมินคำตอบของฉันด้วยเกณฑ์การให้คะแนนต่อไปนี้ เต็ม 20 คะแนน:
- ความถูกต้องเชิงฟังก์ชัน (8 คะแนน): โค้ดให้ผลลัพธ์ที่คาดหวังในกรณีทั่วไปหรือไม่?
- กรณีขอบ (4 คะแนน): อินพุตว่าง ค่าสุดขั้ว ชนิดข้อมูลที่ไม่คาดคิด
- ความอ่านง่าย (4 คะแนน): ชื่อตัวแปรชัดเจน โครงสร้างมีเหตุผล ไม่ซับซ้อนโดยไม่จำเป็น
- แนวปฏิบัติที่ดีของภาษา (4 คะแนน): สำนวนที่เหมาะสม ไม่มีโค้ดซ้ำซ้อน
สำหรับแต่ละเกณฑ์: ให้คะแนน คำอธิบายไม่เกินสองประโยค และ ถ้าคะแนนหาย ให้คำใบ้เพื่อปรับปรุง WITHOUT (โดยไม่) บอกวิธีแก้แก่ฉัน
จบด้วยเรื่องที่ควรทำก่อนเป็นอันดับแรกสำหรับการลองครั้งถัดไปของฉันวงจรการทำงานที่สมบูรณ์ ที่ควรจดจำในฐานะกิจวัตรของมืออาชีพ: คุณแก้ด้วยตัวเอง คุณส่งด้วยพรอมป์ผู้ตรวจ คุณได้รับคำใบ้ที่ระบุตำแหน่ง คุณซ่อมมันด้วยตัวเอง คุณส่งใหม่ และก็ต่อเมื่อเวอร์ชันของคุณอยู่ตัวแล้วเท่านั้น คุณจึงถามได้ว่า: "ตอนนี้คำตอบของฉันถูกต้องแล้ว ช่วยแสดงให้ฉันดูว่านักพัฒนาที่มีประสบการณ์จะเขียนมันอย่างไร และอธิบายความแตกต่างแต่ละจุด" ในขั้นตอนนั้น การเปรียบเทียบไม่ได้แทนที่การเรียนรู้ของคุณอีกต่อไป แต่มันมาสวมมงกุฎให้