天天看點

一分鐘了解“好”接口的設計與實作

一、好接口的特性

  • 易讀
  • 易用,難于誤用
  • 功能獨立
  • 容易擴充

二、好接口設計的基本原則

  • 隻做并做好一件事

函數名自解釋

不恰當的函數名,往往是不恰當設計的征兆

  • 如果沒做到上一點,就将函數分解

隻增加,永遠不要删除函數與接口(你永遠不知道這個接口被誰在使用)

  • 實作永遠不能影響接口

舉例:不能假定函數調用者隻能使用hash

不能對外暴露實作細節

  • 最小化通路

盡量使用私有化成員

注意資訊隐藏

  • 注意文檔與注釋

接口不是隻寫給自己(即使隻給自己,也應該有說明)

三、好接口實作的基本原則

  • 不要到處拷貝代碼
  • 原子性盡量在一個接口内保證
  • Fail-Fast原則

出錯盡量早點傳回,交給上層處理,不要勉強搶救

  • 避免資料直接通路,而是提供通路方法
  • 注意參數與傳回值類型

盡量明确類型

能不用string盡量不用

使用float的地方盡量用double,64bit

  • 參數個數不宜太多

如果過多,就要考慮接口的合理性了

你見過沒有注釋的接口麼?

你見過2000行的接口麼?

你見過20個參數的接口麼?

你見過什麼更奇葩的接口?

繼續閱讀