🎯 什麼情境該想到我
當你要改資料格式/schema/API,又擔心「新舊版本同時在線」會壞掉時(滾動升級、多服務並存)。
⚙️ 怎麼用
- 顧好雙向相容:
- 向後相容:新程式能讀舊資料。
- 向前相容:舊程式能讀新資料(忽略不認得的欄位)。
兩者都要,才能新舊版本共存、滾動部署。
- 選編碼格式:JSON/XML(人可讀、無 schema 演進保證)vs Protobuf/Avro/Thrift(緊湊、有明確的 schema 演進規則)。
- 加欄位用「可選 + 預設值」,別移除或改動既有欄位的標籤/型別。
🧪 我實際套用的紀錄
- 2026-07-15:(待填)
⚠️ 注意
- 「改一個必填欄位的意義」是隱形殺手;演進規則要跟著格式走。
🔗 相關工具
- 對照 工具-介面設計原則(介面同樣要能演進)