กาลครั้งหนึ่งเมื่อนานมาแล้ว ประมาณ 5 ปีก่อน มีลูกค้าเจ้าหนึ่งเขียนโปรแกรมมาต่อกับ Servlet อันหนึ่งที่เพิ่งซื้อมา ลูกค้าขอ data มาเป็น format xml เจ้า servlet ก็จะ return มาเป็น xml ให้ แต่ถ้าเป็น error message จะส่งเป็น text ธรรมดาๆ

ลูกค้าเจ้านั้นก็คิดว่าเป็นเรื่องปกติ ก็เขียนโปรแกรมมารับพฤติกรรมอันนี้ ใช้งานได้ดีมาโดยตลอด

กาลครั้งหนึ่งหลังจากนั้นสัก 1 ปี โปรแกรมเมอร์ของ Servlet นั้นกำลังเขียน Servlet ใหม่เป็นเวอร์ชั่นใหม่ เค้าพบพฤติกรรมอันนี้และพบว่ามันเป็น Bug ตัวเป้ง เค้าแก้มันให้ส่ง error เป็น format ตามที่ถูกขอ และ Servlet ตัวนั้นก็ทำงานแบบนั้นมาตลอดไม่ว่าจะเวอร์ชั่นไหนๆ ถัดมา

ในอีก 5 ปีถัดมา ลูกค้าเจ้าเดิมอยากจะ upgrade Servlet เป็นเวอร์ชั่นใหม่ๆ ลองเอาไปรันแล้วพบว่า error message แม่ง return เป็น xml ตอนขอ data เป็น xml แล้ว ไม่ใช่ text แบบเก่า โปรแกรมเค้ารันไม่ได้เลย

สรูป Servlet นี้ไม่ backward compat เฮ

Comment

Comment:

Tweet