เห็น 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)

$mvnw test && git commit -am working || git reset --hard

น่าสนใจมาก ๆ มาลองกันดีกว่า

เพิ่มเติม


Tags:,