本文的標題至少說明了三點:我是一個初級程式員;本文的內容與使用者體驗有關;我目前所理解的提升使用者體驗的手段之一是動態排序。
動態排序的意思是:根據之前使用者作出的操作,動態地引導使用者作出後續的操作。
這句話說的太抽象,但是現實中有很多例子可以解釋這句話。
例如,在用sqlserver2000(只用過盜版的)的查詢分析器的時候,大部分初學者或者小部分的勞累的程式員會注意不到標題列下方正中央要先選擇資料庫然後執行相應的sql語句。假設我敲了一行“select * from Table1 where id = 3”。然後sqlserver2000會顯示解釋錯誤,提示沒有Table1這張表。然後使用者意識到是資料庫沒有選擇對。就在使用者點擊選擇資料庫的時候,如果引入動態排序——根據之前使用者作出的操作,動態地引導使用者作出後續的操作——應該按照資料庫中是否含有Table1的資料庫把已有的資料庫分成兩類:有Table1和沒有Table1的資料庫。然後按照建立Table1的時間的由近及遠或者操作次數或者資料量大小等因素,綜合排序,給出最可能符合使用者預期的排序方式,使得使用者在選擇資料庫時,最好第一個就是想選擇的資料庫。就像sogou拼音這麼好用。
再比如,在搜尋引擎中,使用者可能會對一個關鍵字搜尋過幾次,比如“主頻”。極有可能,我後來忘了什麼叫“主頻”,會重新搜尋,這時,如果加入動態排序,就應該是根據搜尋次數和時間,把之前點擊過的連結放在前面。而這個應該是可以做到的,因為目前,點擊過的連結會變成暗紅色。
當然,動態排序,也要考慮硬體的執行效率和不違反使用者的預期。
針對硬體的執行效率,比如,如果當前的電腦效能很差,資料量很大時,載入動態排序的特徵可能使電腦運行很慢。這時可以恰當地根據當前電腦環境作出抉擇。這點可以由高端使用者自己決定或者應用程式智能分析給出推薦的方案。
針對不違反使用者的預期,比如,針對第一個例子寫的sql語句,在目前的sql組雷根本就沒有。這時不能彈出一個框說,sql語句沒有,所以不能給您選擇合適的資料庫。而直接按照預設排序就好。
上述就是目前理解的動態排序的認識。如有雷同,純屬榮幸,不吝賜教。