一分鐘了解“好”接口的設(shè)計(jì)與實(shí)現(xiàn)
一、好接口的特性
(1) 易讀
(2) 易用,難于誤用
(3) 功能獨(dú)立
(4) 容易擴(kuò)展
二、好接口設(shè)計(jì)的基本原則
(1) 只做并做好一件事
- 函數(shù)名自解釋
- 不恰當(dāng)?shù)暮瘮?shù)名,往往是不恰當(dāng)設(shè)計(jì)的征兆
(2) 如果沒(méi)做到上一點(diǎn),就將函數(shù)分解
- 只增加,永遠(yuǎn)不要?jiǎng)h除函數(shù)與接口(你永遠(yuǎn)不知道這個(gè)接口被誰(shuí)在使用)
(3) 實(shí)現(xiàn)永遠(yuǎn)不能影響接口
- 舉例:不能假定函數(shù)調(diào)用者只能使用hash
- 不能對(duì)外暴露實(shí)現(xiàn)細(xì)節(jié)
(4) 最小化訪問(wèn)
- 盡量使用私有化成員
- 注意信息隱藏
(5) 注意文檔與注釋
- 接口不是只寫(xiě)給自己(即使只給自己,也應(yīng)該有說(shuō)明)
三、好接口實(shí)現(xiàn)的基本原則
(1) 不要到處拷貝代碼
(2) 原子性盡量在一個(gè)接口內(nèi)保證
(3) Fail-Fast原則
- 出錯(cuò)盡量早點(diǎn)返回,交給上層處理,不要勉強(qiáng)搶救
(4) 避免數(shù)據(jù)直接訪問(wèn),而是提供訪問(wèn)方法
(5) 注意參數(shù)與返回值類(lèi)型
- 盡量明確類(lèi)型
- 能不用string盡量不用
- 使用float的地方盡量用double,64bit
(6) 參數(shù)個(gè)數(shù)不宜太多
- 如果過(guò)多,就要考慮接口的合理性了
【本文為51CTO專(zhuān)欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)聯(lián)系原作者】