ฉันสงสัยในการเขียนรหัสการทำงานใหม่อยู่เสมอ - การย้ายรหัสจะไม่มีข้อยกเว้น อย่างไรก็ตามด้วยการถือกำเนิดของ TDD และการทดสอบอัตโนมัติมันมีความเหมาะสมมากกว่าในการเขียนและสร้างรหัสใหม่
ไม่มีใครรู้ว่ามีเครื่องมือ TDD ที่สามารถใช้ในการย้ายรหัสเก่าได้หรือไม่? เป็นการดีที่คุณสามารถทำต่อไปนี้:
- เขียนการทดสอบหน่วยผู้ไม่เชื่อเรื่องภาษาสำหรับรหัสเก่าที่ผ่าน (หรือล้มเหลวหากคุณพบข้อบกพร่อง!)
- เรียกใช้การทดสอบหน่วยในฐานรหัสอื่น ๆ ของคุณที่ล้มเหลว
- เขียนรหัสในภาษาใหม่ของคุณที่ผ่านการทดสอบโดยไม่ต้องดูรหัสเก่า
อีกทางเลือกหนึ่งคือการแยกขั้นตอนที่ 1 เป็น "การทดสอบหน่วยการเขียนในภาษา 1" และ "การทดสอบหน่วยพอร์ตเป็นภาษา 2" ซึ่งเพิ่มความพยายามอย่างมากและจำเป็นต้องพิสูจน์ว่าฐานรหัสเก่ากำลังจะหยุดหลังจากนั้น พอร์ต (นั่นคือคุณจะไม่ได้รับประโยชน์จากการรวมอย่างต่อเนื่องในฐานรหัสนี้)
แก้ไข: มันคุ้มที่จะสังเกตคำถามนี้ใน StackOverflow
expect
SK-ตรรกะผมไม่เคยได้ยินของ หากคุณมีระบบดั้งเดิมของ Unix ที่สื่อสารกับไพพ์โดยใช้ stdin และ stdout เครื่องมือนั้นสามารถใช้งานได้อย่างแน่นอน ความจริงแล้วมันค่อนข้างง่ายที่จะทดสอบด้วยภาษาสคริปต์ใด ๆ
legacy language x
fancy new language y
ฉันไม่ได้พยายามจะบอกอะไรเกี่ยวกับยูนิกซ์!
expect
เพื่อดำเนินการทดสอบของคุณ