什么是認(rèn)知維度
認(rèn)知維度(也稱(chēng)作符號(hào)認(rèn)知維度,Cognitive Dimensions or Cognitive Dimensions of Notations,簡(jiǎn)稱(chēng)CD)是一套關(guān)于符號(hào)標(biāo)記、用戶(hù)界面和編程語(yǔ)言的設(shè)計(jì)原則。
認(rèn)知維度提供一種輕量級(jí)的方法來(lái)幫助分析設(shè)計(jì),它包含了14條不同的維度來(lái)指導(dǎo)設(shè)計(jì)。
API的可用性
API和一般的產(chǎn)品一樣,也需要具有良好的可用性。但API的不同之處在于,它一旦被發(fā)布出去,修改升級(jí)都比較困難。如果你變更了API,很多使用你API開(kāi)發(fā)出來(lái)的產(chǎn)品就會(huì)受到影響,甚至無(wú)法正常工作。
所以我們?cè)诎l(fā)布一套API之前,一定做了很多工作:嚴(yán)謹(jǐn)?shù)脑O(shè)計(jì)、嚴(yán)格的測(cè)試等等。但是很少有人關(guān)注API的可用性,也沒(méi)有行之有效的方法來(lái)指導(dǎo)API的可用性設(shè)計(jì)。
在微軟,認(rèn)知維度這個(gè)工具被拿來(lái)用在了API的可用性設(shè)計(jì)上,并對(duì)其進(jìn)行適當(dāng)?shù)男薷,形成了新?2個(gè)維度。
我們先來(lái)看看認(rèn)知維度中的一個(gè)維度:Abstraction Level
Abstraction Level
Abstraction Level在CD中的描述為Abstraction Gradient,其解釋為:
What are the minimum and maximum levels of abstraction exposed by the notation? Can details be encapsulated?
用到API設(shè)計(jì)中,可以轉(zhuǎn)化為如下解釋?zhuān)?/p>
What are the minimum and maximum levels of abstraction exposed by the API, and what are the minimum and maximum levels usable by a targeted developer.
這個(gè)維度可理解為API所暴露出來(lái)的抽象層次是什么樣的。如果抽象層次高,開(kāi)發(fā)者使用起來(lái)將會(huì)感覺(jué)非常簡(jiǎn)單、方便,但缺點(diǎn)是不夠靈活,缺乏自定義性;如果抽象層次低,則系統(tǒng)具有較大的靈活性,但卻犧牲了部分易用性,開(kāi)發(fā)者學(xué)習(xí)起來(lái)的代價(jià)也比較大。
我們通過(guò)一個(gè)具體的使用場(chǎng)景來(lái)理解這個(gè)概念,下面的代碼片段在地圖上創(chuàng)建了兩個(gè)按鈕,點(diǎn)擊這兩個(gè)按鈕可分別將地圖進(jìn)行放大一級(jí)和縮小一級(jí)的操作:
示例一
map.addControl(new BMap.StandardMapControl({type: BMAP_STD_MAP_CONTROL_ZOOM_ONLY}));
創(chuàng)建按鈕實(shí)際上是向地圖容器里添加了新的DOM元素,并指定了一些樣式,最后再綁定兩個(gè)click事件,并在事件監(jiān)聽(tīng)函數(shù)中調(diào)用map的zoomIn和zoomOut方法。
出處:百度泛用戶(hù)體驗(yàn)
責(zé)任編輯:bluehearts
上一頁(yè) 下一頁(yè) 認(rèn)知維度與API的可用性評(píng)估 [2]
◎進(jìn)入論壇網(wǎng)頁(yè)制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|