来自Google资深工程师的API设计最佳实践
來自Google資深工程師Joshua Bloch的分享:API設計最佳實踐
為什么API設計如此重要?API是一個公司最重要的資產。
為什么API的設計對程序員如此重要?
API一旦發(fā)布,出于兼容性考慮,不能輕易地隨心所欲進行修改,比如刪除參數。
從API的上帝 - 設計者的視角出發(fā),有助于提高代碼質量。
一個優(yōu)秀的API應該滿足下列標準:
易學易用,甚至是自描述的,不需文檔也能讓新手快速上手。不易造成誤解。后續(xù)維護者易于理解,滿足開閉原則 - 能夠很容易進行擴展。
如何設計一個好的API
首先應該從收集需求出發(fā)。注意結合API實現的復雜度一起考慮。
作為第一步,首先給出需求規(guī)格文檔,一頁即可:
別指望你的API能讓所有人滿意。也不要指望發(fā)布后,它不會出任何錯誤——那是不可能的。
API也應該遵循單一職責:如果你發(fā)覺很難根據你的API實現的功能給它取個合適的名字,這是一個不好的信號,很多時候說明你的API里面做了太多事情——試著把它們拆成多個API。
信息封裝 - 公有類盡量避免暴露公有字段出去,最大化信息隱藏
API命名藝術 - API的名稱也是一門語言。
API和文檔的關系
合理使用繼承和子類,不要濫用里氏替換原則
采用fail fast 策略,盡可能早地拋出錯誤消息:
API的數據都應該允許使用者通過字符串的方式訪問
慎用重載
選用合適的API參數和返回類型
API里的參數順序也很有講究
避免冗長的參數列表,參數如果超過3個,使用者就需要通過閱讀文檔才能消費了。
盡量返回不需要調用者進行異常處理的參數,比如空數組或集合,而不是null
API設計里的和異常處理相關的最佳實踐
API重構的最佳實踐
API設計和Thread-local相關的最佳實踐
要獲取更多Jerry的原創(chuàng)文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的来自Google资深工程师的API设计最佳实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 消息称特斯拉将于 7 月推出新款 Yok
- 下一篇: vivo T2 系列手机影像配置公布:搭