日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
優(yōu)秀API設(shè)計(jì)的十大原則

每個(gè)軟件開發(fā)人員都使用API?!皟?yōu)秀”的API設(shè)計(jì)就像魔法。不過,我不知道有多少人可以解釋為什么有的API很復(fù)雜、很難學(xué),而有的則干凈、簡單、使用起來堪稱是一種快樂。關(guān)于這個(gè)問題,我將在文中回答,并提供優(yōu)秀API設(shè)計(jì)的十條法則。

1.只做你今天需要的

這是最***的規(guī)則。只解決今天必須解決的問題,最小化需要完成的答案。解決明天的問題的誘惑力是巨大的。但是一定要頂住誘惑!不要提前發(fā)布代碼,重點(diǎn)是注重縮小發(fā)布周期。如果需要花幾個(gè)小時(shí)的時(shí)間來回答新問題,那么就不用再猜測明天會(huì)出現(xiàn)什么問題了。

2.API模塊化

將大型問題轉(zhuǎn)化為規(guī)模較小的、可單獨(dú)解決的問題。模塊化API更容易學(xué)習(xí),并且可以隨時(shí)間而改變。你可以用新模塊替代舊模塊??梢砸粋€(gè)一個(gè)地教導(dǎo)模塊。也可以將API的實(shí)驗(yàn)部分從穩(wěn)定或傳統(tǒng)的部分中單獨(dú)分出來。

3.使用結(jié)構(gòu)化語法

使用結(jié)構(gòu)化的API語法:用thing.action或thing.property代替do_action_with_thing。語法將自然而然地適應(yīng)模塊化的方法,其中每個(gè)模塊是一個(gè)類。

4.使用自然語義

不要發(fā)明新概念。只使用開發(fā)人員眾所周知的概念,作為類系統(tǒng)的基礎(chǔ)。如果你發(fā)現(xiàn)自己需要解釋概念,那說明你出錯(cuò)了:要么你在解決以后的問題,要么你正在錯(cuò)誤地構(gòu)建API。

5.API的自我約定

每個(gè)類都要嚴(yán)格使用相同的樣式和約定。一致性是指當(dāng)一個(gè)人學(xué)會(huì)這一個(gè)類時(shí),他就能夠融會(huì)貫通地掌握全部的類。文檔化約定,讓它們成為貢獻(xiàn)者必須的標(biāo)準(zhǔn)。

6.API的可擴(kuò)展性

易擴(kuò)展性有許多好處,并不僅僅在于受到貢獻(xiàn)者的歡迎。它還可以讓你延緩實(shí)現(xiàn)功能,因?yàn)椤叭绻枰脑?,后面再添加也很方便”。不需要的功能就不添加,這也是一種雙贏。

7.完全測試

每個(gè)類和方法必須經(jīng)過惡意代碼的完全測試。要像寫代碼一樣寫測試,然后像API提供給外界約定文檔一樣使用測試。每當(dāng)代碼改變的時(shí)候就運(yùn)行這些測試。不要擔(dān)心代碼覆蓋率。重要的是外部約定。也可以考慮使用約定生命周期。

8.分層式成長

保持API突出重點(diǎn),然后在頂部將新的API分層,以便于它們能隨著時(shí)間的推移成長??蓴U(kuò)展性并不意味著***期的成長。明確API的范圍,并在范圍內(nèi)執(zhí)行。

9.保持簡單易用

最終的測試要看API的簡單易用程度。你寫的例子,能不能讓你的代碼看起來更簡單?你是不是強(qiáng)迫用戶說明他們不在乎的選項(xiàng)?有沒有毫無價(jià)值的額外步驟?要注重約減少API的可視面積。

10.保持可移植性

不要讓系統(tǒng)概念泄漏到API。整潔有目的地抽象:這個(gè)API可以運(yùn)行在任何操作系統(tǒng)上。API必須能夠隱藏實(shí)現(xiàn),但要注意第4條規(guī)則,以及要使用自然抽象。

歡迎大家說說自己的看法。

 英文原文:Ten Rules for Good API Design


分享標(biāo)題:優(yōu)秀API設(shè)計(jì)的十大原則
分享URL:http://m.5511xx.com/article/copgohh.html