- 簡(jiǎn)體
- 簡(jiǎn)體中文 English
如何自作高質(zhì)量的API文檔
實(shí)際上,我想說(shuō)明的是:對(duì)于面向開(kāi)發(fā)者的產(chǎn)品來(lái)說(shuō),其用戶(hù)體驗(yàn)中最重要的一環(huán)并不是什么主頁(yè)設(shè)計(jì)、登錄過(guò)程、或者SDK下載。真正最重要的是產(chǎn)品的API文檔!如果沒(méi)人知道你的產(chǎn)品如何使用,縱使它巧奪天工,又有何用?
如果你是一個(gè)專(zhuān)門(mén)從事面向開(kāi)發(fā)者產(chǎn)品設(shè)計(jì)的工程師,那么編寫(xiě)完善的技術(shù)文檔,就跟你為終端用戶(hù)提供良好用戶(hù)體驗(yàn)一樣關(guān)鍵。
我見(jiàn)過(guò)許多類(lèi)似的情況,一個(gè)項(xiàng)目被草率地扔到GitHub的頁(yè)面上,僅僅配有兩行的readme說(shuō)明文件。要知道,真正成功的API文檔是需要用愛(ài)來(lái)悉心制作的藝術(shù)品。在Parse產(chǎn)品項(xiàng)目里,我們就把自己奉獻(xiàn)給了這門(mén)藝術(shù)!
那么,什么才是制作優(yōu)秀API文檔的關(guān)鍵因素呢?
1. 絕不吝惜使用層次
你的設(shè)計(jì)文檔不應(yīng)當(dāng)僅僅直白地列出所有的終端函數(shù)和其參數(shù)。好的文檔應(yīng)該是一整套有機(jī)的系統(tǒng)內(nèi)容,能指引用戶(hù)通過(guò)文檔與API進(jìn)行交互。退一萬(wàn)步說(shuō),你至少讓你的文檔包含以下幾個(gè)部分。
參考索引:參考索引應(yīng)當(dāng)是一個(gè)事無(wú)巨細(xì)的列表,包含了所有功能函數(shù)的繁文縟節(jié)。它必須注明所有的數(shù)據(jù)類(lèi)型和函數(shù)規(guī)格。高級(jí)開(kāi)發(fā)者要能夠拿著它整天當(dāng)參考書(shū)使用。
開(kāi)發(fā)指南:這是介于參考索引和開(kāi)發(fā)教程中間程度的文檔。它就仿佛是一篇更加詳細(xì)的參考索引,闡明了如何使用各種API。
開(kāi)發(fā)教程:開(kāi)發(fā)教程會(huì)更加具體地闡述如何使用API,并著重介紹其中的一部分功能。如果能提供可編譯運(yùn)行的源代碼,那就再好不過(guò)了。
在Parse項(xiàng)目里,我們做到了上述所有三個(gè)部分。目前我們正在努力編制更多的開(kāi)發(fā)教程。
另外一個(gè)此方面優(yōu)秀的范例是Stripe’s API(http://www.stripe.com) 。這個(gè)產(chǎn)品的文檔包括一個(gè)很棒的《hybrid guide and reference》,以及一套開(kāi)發(fā)教程。《GitHub API參考》也經(jīng)過(guò)了良好的設(shè)計(jì)。
你可以爭(zhēng)辯說(shuō),我的API本身就是個(gè)抽象體, 抽象就是它的特點(diǎn)。然而,當(dāng)你在教會(huì)開(kāi)發(fā)者如何使用的過(guò)程中,還是能不抽象就不抽象比較好。
在你的文檔中盡可能地舉現(xiàn)實(shí)中的例子吧。沒(méi)有哪個(gè)開(kāi)發(fā)者會(huì)抱怨你舉例太多的。實(shí)際上,這種做法能顯著地縮短開(kāi)發(fā)者理解你產(chǎn)品的時(shí)間。對(duì)此,我們的網(wǎng)站里甚至給出一個(gè)代碼樣例加以解釋。
2. 減少點(diǎn)擊次數(shù)
開(kāi)發(fā)者痛恨點(diǎn)擊鼠標(biāo),這已經(jīng)不是什么秘密了。千萬(wàn)別把你的文檔分散在數(shù)以萬(wàn)計(jì)的頁(yè)面當(dāng)中。盡量把相關(guān)的主題都放到一個(gè)頁(yè)面里。
我們非常贊成使用“單頁(yè)面大指南”的組織形式(鏈接),這種形式不僅能讓用戶(hù)縱覽全局,僅僅通過(guò)一個(gè)導(dǎo)航欄就能進(jìn)入他們感興趣的任意主題,另外還有一個(gè)好處是:用戶(hù)在進(jìn)行搜索的時(shí)候,僅僅搜索當(dāng)前頁(yè)面,就能涵蓋查找所有的內(nèi)容。
在這個(gè)方面的一個(gè)優(yōu)秀范例是ckbone.js documentation,只要你有個(gè)鼠標(biāo),一切盡在掌握。
萬(wàn)事開(kāi)頭難,開(kāi)發(fā)者學(xué)習(xí)一套全新的API,不得不重新適應(yīng)其全新的思維方式,學(xué)習(xí)代價(jià)高昂。對(duì)于這個(gè)問(wèn)題的解決辦法是:通過(guò)快速指南來(lái)引導(dǎo)開(kāi)發(fā)者。
快速指南的目的是讓用戶(hù)用最小的代價(jià)學(xué)習(xí)如何利用你提供的API干一些小事。僅此而已。一旦用戶(hù)完成了快速指南,他們就對(duì)自己有了信心,并能向更加深入的主題邁進(jìn)。
舉個(gè)例子,我們的快速指南能讓用戶(hù)下載SDK以及在平臺(tái)上存儲(chǔ)一個(gè)對(duì)象。為此,我們甚至做了一個(gè)按鈕,來(lái)讓用戶(hù)測(cè)試他們是否正確地完成了快速指南。這能提升用戶(hù)的信心,以鼓勵(lì)他們學(xué)習(xí)我們產(chǎn)品其他的部分。
3. 支持多種編程語(yǔ)言
我們生活在一個(gè)多語(yǔ)言的世界。如果可能的話,為你的API提供各種編程語(yǔ)言版本的樣例程序,只要的API支持這些語(yǔ)言。多數(shù)時(shí)候,多語(yǔ)言的工作都是由客戶(hù)端庫(kù)來(lái)完成的。要知道,開(kāi)發(fā)者要想掌握一套API,離開(kāi)他們熟悉的編程語(yǔ)言,是很難想象的。
MailGun’s API為此做出了良好的榜樣。它提供了curl,Ruby,Python,Java,C#和PHP等多個(gè)版本供開(kāi)發(fā)者選擇。
4. 絕不放過(guò)任何邊界情況
使用API開(kāi)發(fā)應(yīng)用,所能遭遇的最糟糕的情況,莫過(guò)于你發(fā)現(xiàn)了一個(gè)文檔中沒(méi)有提到的錯(cuò)誤。如果你遇到這種情況,就意味著你不能確認(rèn)究竟是你的程序出了錯(cuò),還是你對(duì)API的理解出了錯(cuò)。
因此,參考索引中必須包含每種假設(shè)可能造成的邊界情況,不論是顯示的還是隱式的?;c(diǎn)兒時(shí)間在這個(gè)上面,絕對(duì)能起到事半功倍的效果。
在學(xué)習(xí)結(jié)束的時(shí)候,開(kāi)發(fā)者希望能看到關(guān)于項(xiàng)目產(chǎn)品應(yīng)用的大致藍(lán)圖。達(dá)到這一目的最好的辦法,莫過(guò)于提供可運(yùn)行的樣例應(yīng)用。我發(fā)現(xiàn),應(yīng)用程序代碼是將API運(yùn)行機(jī)理和系統(tǒng)整合融會(huì)貫通最好的辦法。
sample code in Apple’s iOS Developer Library 則是這方面做得很好的,它包含了詳盡的iOS樣例程序,并按主題一一分類(lèi)。
5. 加入人性化的因素
閱讀技術(shù)文檔枯燥乏味,自然不像坐過(guò)山車(chē)那樣緊張刺激。不過(guò),你至少可以通過(guò)加入一些人性化的因素,或者開(kāi)開(kāi)玩笑。給你的例子中的變量其一些好玩兒的名字吧,別老是把函數(shù)名稱(chēng)叫什么foo之類(lèi)的,好讓你的讀者有煥然一新的感覺(jué)。
至少,這可以保證你的讀者不會(huì)讀著讀著就睡過(guò)去。
本文發(fā)布于北京網(wǎng)站制作公司尚品中國(guó)http://m.taxlienfortunes.com/
建站流程
-
網(wǎng)站需求
-
網(wǎng)站策劃方案
-
頁(yè)面設(shè)計(jì)風(fēng)格
-
確認(rèn)交付使用
-
資料錄入優(yōu)化
-
程序設(shè)計(jì)開(kāi)發(fā)
-
后續(xù)跟蹤服務(wù)
-
聯(lián)系電話
010-60259772
熱門(mén)標(biāo)簽
- 網(wǎng)站建設(shè)
- 食品網(wǎng)站建設(shè)
- 微信小程序開(kāi)發(fā)
- 小程序開(kāi)發(fā)
- 無(wú)錫網(wǎng)站建設(shè)
- 研究所網(wǎng)站建設(shè)
- 沈陽(yáng)網(wǎng)站建設(shè)
- 廊坊網(wǎng)站建設(shè)
- 鄭州網(wǎng)站建設(shè)
- 婚紗攝影網(wǎng)站建設(shè)
- 手機(jī)端網(wǎng)站建設(shè)
- 高校網(wǎng)站制作
- 天津網(wǎng)站建設(shè)
- 教育網(wǎng)站建設(shè)
- 品牌網(wǎng)站建設(shè)
- 政府網(wǎng)站建設(shè)
- 北京網(wǎng)站建設(shè)
- 網(wǎng)站設(shè)計(jì)
- 網(wǎng)站制作
最新文章
推薦新聞
更多行業(yè)-
站長(zhǎng)故事:坐在豬肉柜臺(tái)前面做網(wǎng)站的我!
我是一個(gè)無(wú)業(yè)游民,自己有一個(gè)不大不小的冷鮮肉銷(xiāo)售商店,其實(shí)在今天上午之...
2014-04-16 -
網(wǎng)站建設(shè)營(yíng)銷(xiāo)必須抓住重點(diǎn)
為了建設(shè)一個(gè)好的網(wǎng)站,網(wǎng)絡(luò)營(yíng)銷(xiāo)的成功率達(dá)到60%。對(duì)于一個(gè)公司來(lái)說(shuō),建...
2022-05-25 -
企業(yè)網(wǎng)站設(shè)計(jì)中常犯的幾個(gè)問(wèn)題
企業(yè)網(wǎng)站作為企業(yè)的門(mén)戶(hù)和品牌形象,在互聯(lián)網(wǎng)時(shí)代扮演著非常重要的角色。然...
2023-04-25 -
如何測(cè)量其他網(wǎng)站的速度
北京網(wǎng)站建設(shè)公司尚品中國(guó)(m.taxlienfortunes.com):Web ...
2012-05-02 -
站內(nèi)優(yōu)化鏈接操作注意點(diǎn)
不同的目錄內(nèi)頁(yè)之間不要進(jìn)行互相鏈接這樣會(huì)導(dǎo)致網(wǎng)站的相關(guān)性下降,不要把網(wǎng)...
2012-06-14 -
用博客打造品牌SEO
其實(shí)在SEO發(fā)展的這些年,經(jīng)常說(shuō)做SEO要寫(xiě)軟文、要做外鏈。這些方法已...
2012-07-10
預(yù)約專(zhuān)業(yè)咨詢(xún)顧問(wèn)溝通!
免責(zé)聲明
非常感謝您訪問(wèn)我們的網(wǎng)站。在您使用本網(wǎng)站之前,請(qǐng)您仔細(xì)閱讀本聲明的所有條款。
1、本站部分內(nèi)容來(lái)源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學(xué)習(xí)和交流,切勿用于任何商業(yè)活動(dòng)。
2、本站不承擔(dān)用戶(hù)因使用這些資源對(duì)自己和他人造成任何形式的損失或傷害。
3、本聲明未涉及的問(wèn)題參見(jiàn)國(guó)家有關(guān)法律法規(guī),當(dāng)本聲明與國(guó)家法律法規(guī)沖突時(shí),以國(guó)家法律法規(guī)為準(zhǔn)。
4、如果侵害了您的合法權(quán)益,請(qǐng)您及時(shí)與我們,我們會(huì)在第一時(shí)間刪除相關(guān)內(nèi)容!
聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com