เห็น VDO ใน YouTube ของคุณ Kent Beck
เรื่อง Understanding Legacy Code with TCR (test && commit || revert)
แต่สิ่งที่สนใจคือ แนวคิดและแนวปฏิบัติที่ใช้งาน
คือ TCR (Test && Commit || Revert) มันคืออะไรนะ และทำอย่างไร ?
แนวคิด TCR (Test && Commit || Revert) คืออะไร
ตามไปอ่าน blog เรื่อง Test && Commit || Revert
แนวคิดตามชื่อเลย ตรงๆ นั่นคือ
เมื่อนักพัฒนาทำการแก้ไข code
จากนั้นทำการ run ชุดการทดสอบทั้งหมด
ถ้าผลการทดสอบผ่านแล้ว จะทำการ commit ให้เลย ($git commit -am)
แต่ถ้าไม่ผ่าน จะทำการลบการเปลี่ยนที่ทำทั้งหมดทิ้งไป ($git reset --hard)
นั่นหมายความว่า
ให้นักพัฒนาค่อย ๆ เขียน code เป็นเรื่อง ๆ
นั่นคือการพัฒนาแบบ incremental และมีคุณภาพ
สิ่งที่เปลี่ยนแปลงไปต้องไม่กระทบต่อระบบงานโดยรวม
โดยถ้าใช้งานจริง ๆ ก็เพียงเขียน command line เลย
ถ้าใช้ Text Editor หรือ IDE ก็ให้ตรวจสอบการเปลี่ยนแปลงเลย
เช่น ถ้าทำการบันทึกแล้ว ทำการ run คำสั่งนี้เลย (Run on Change)
น่าสนใจมาก ๆ มาลองกันดีกว่า
เพิ่มเติม