最簡單的接口兼容性方案0519

這里的接口指的是團隊開發(fā)中,模塊間的函數(shù)接口,或者跨進程的協(xié)議接口。

俗話說有人的地方就有江湖,在軟件開發(fā)當中,有人的地方就有接口,有接口就要考慮兼容性問題。平心而論,一般新軟件,前面的版本,考慮太多接口兼容性問題不現(xiàn)實,因為前面的版本改動特別大,兩個版本之間面目全非的情況比比皆是。但是到了一定階段,接口就急需要穩(wěn)定,因為不兼容的接口帶來的成本太高了。

最簡單的接口兼容性方案就是永遠只新增接口,然后老老實實的等著舊接口自然消亡,當然這個過程非常痛苦,但是習慣了也沒有什么。這里還是有幾條建議,可以緩解這個痛苦的。

  1. 既然選擇了新增接口來支持兼容性,就不要再去嘗試其他方案,也就是將這條路走到黑,避免多種接口兼容性策略同時生效,反而讓使用者糊涂。

  2. 項目團隊中形成共識,每當新接口和老接口有替換關(guān)系時,就盡量在主分支主動升級到新接口,然后讓新接口自然在未來某個版本中自然生效。

  3. 新接口和老接口在命名上應該有一個自然的替換關(guān)系,比如說老接口叫 GetBigBook,新接口叫做GetBigBook2,雖然很俗氣,一旦團隊內(nèi)都采用類似風格,也可以接受。將來排查那些GetBigBook沒有替換完畢的時候也很方便。

  4. 如果新增了參數(shù),盡量將新增的部分放在尾部或者頭部,別頭部放一個,尾部放一個,減少使用者更換接口時的不適感。好的新接口設計,甚至可以實現(xiàn)批量替換。這里不詳細描述了。跨進程的接口協(xié)議,可以在使用側(cè)先用函數(shù)封裝一下組裝報文的部分,后面報文格式變了,最終也就變成了函數(shù)的替換。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容