• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            一個例子

            讓我們來假象一個場景:用戶正在使用一套類似“信息管理系統(tǒng)”的軟件,準備新增一條記錄,輸入完全部的數(shù)據(jù)后,軟件卻給出一條錯誤提示:

             

            用戶可能此時已經(jīng)崩潰在屏幕前了,因為需要輸入的記錄可能有很多條,這意味著他不得不一項一項檢查數(shù)據(jù)。

            但換一種場景:用戶同樣輸入完后,軟件給出提示:

             

            同時,點擊確定后,光標自動跳轉(zhuǎn)到錯誤的地方,用戶只需輸入正確的信息就可以了。這樣避免了很多額外的工作量,省時省力。

            人性化的提示信息

              在我們使用軟件時,經(jīng)常出現(xiàn)一些錯誤。這時程序可能只是簡單地提示“出錯啦!”,或者給出一大堆錯誤代碼。這經(jīng)常使初學者很茫然不知所措。如今,軟件正越來越朝著人性化的方向發(fā)展,如何實現(xiàn)人性化的語言提示,是軟件開發(fā)中一件至關(guān)重要的事。它不僅體現(xiàn)支持與服務(wù)的質(zhì)量、影響產(chǎn)品的銷量、更會表現(xiàn)出一家軟件公司的風格——我們對用戶有無微不至的關(guān)懷。

            人性化提示的重要性不言而喻,它包括的內(nèi)容也很廣泛但要做到人性化提示并不是一件簡單的事情,它涉及到數(shù)據(jù)有效值分析、錯誤處理、異常拋出、層之間數(shù)據(jù)傳遞、程序執(zhí)行效率分析、人性化語言設(shè)計等眾多方面方面的內(nèi)容。

            設(shè)計與要點

            結(jié)合近期嘗試制作的“學生信息管理系統(tǒng)”,在程序人性化信息提示方面,我個人認為需要在開發(fā)時做到以下幾點:

            第一,要有嚴格的數(shù)據(jù)檢查。這是人性化錯誤提示的基礎(chǔ),連錯誤都發(fā)現(xiàn)不了,就提不上什么人性化錯誤提示了。首先,要搞清楚各種數(shù)據(jù)的合法條件;其次,在涉及到數(shù)據(jù)傳遞的每個類中加入常規(guī)檢查函數(shù),保證程序的健壯性,需要特別注意邊界值上的問題;最后,一些特殊數(shù)據(jù)的特殊檢查函數(shù),并選擇在合適的類中實現(xiàn),如ID是否重復的檢查就應放在鏈表類中進行。

            第二,設(shè)計錯誤信息的上拋機制。一旦檢查出錯誤,一定不能直接停止運行,而不管其他的事情。最簡單的檢查函數(shù)返回值會是bool類型,即檢查通過與不通過。顯然,這樣設(shè)計的函數(shù)無法提供更具體的信息,也就無法進行提示了。個人認為,除非是在UI層的單項檢查,否則最好設(shè)計返回值為int類型的函數(shù),為了避免混亂,可以使用枚舉類型來用ERR_開頭的單詞代替數(shù)字。你也可以直接返回字符串類型的錯誤信息,但是這樣就會有大量的信息在各個層之間不斷上拋,會造成程序效率降低。當然,可能另一種更好的錯誤處理的方式是拋出異常,但對于我們初學者來說,還接觸不到這些知識。

            第三,UI層的呈現(xiàn)方式。錯誤信息經(jīng)過層層上拋,終于到達了UI層,此時就要考慮如何去呈現(xiàn)給用戶了。一般來說,最常用的方式是彈出對話框,這樣做雖然簡單,但有時候也不免會出現(xiàn)這樣的情況——用戶面對點不完的對話框無語了。此時,個人認為有兩種處理方式:一種是將所有的錯誤信息整合后放在一個對話框中彈出,如開篇提到的第二種情景里的;另一種則是直接提示在原對話框上提示,如一般網(wǎng)站才用的方式——在錯誤的數(shù)據(jù)后打上*號。這兩種方式都有缺點,對于前者,如果錯誤的數(shù)據(jù)較多,很可能用戶點完確定就忘記哪些信息發(fā)現(xiàn)錯誤;對于后者,可能用戶不會在意到錯誤提示,而且,需要在窗口上添加很多控件。一種比較好的方法是綜合兩者的優(yōu)點——彈出錯誤信息,然后將錯誤信息整合在UI的ERROR_LIST中。還有一些類似網(wǎng)頁形式的提示信息如控件上的Popup Message等,但總體來說,在MFC中實現(xiàn)可能會比較難。

            另外,提示文字的設(shè)計也是一門藝術(shù),它會極大的影響到用戶的使用感受,但本文作為技術(shù)文檔就不涉及此方面的內(nèi)容了。

            總結(jié)

            要實現(xiàn)人性化的信息提示,需要考慮很多方面問題,雖然實現(xiàn)起來難度要比核心的設(shè)計要簡單得多,但這確實是軟件設(shè)計中一個很實際也很有挑戰(zhàn)性的問題,它牽涉到用戶的使用的方便性與易用性,也遵循了軟件開發(fā)與服務(wù)的根本——“客戶需求”。

            這是我在這次中軟國際實訓中提交的技術(shù)文檔,各位老鳥看了不要笑,呵呵,歡迎大家評論!

            posted on 2008-07-14 20:41 斯卡 閱讀(1435) 評論(1)  編輯 收藏 引用
            亚洲国产小视频精品久久久三级| 久久综合久久综合九色| 99精品久久久久久久婷婷| 中文字幕一区二区三区久久网站| 99久久国产免费福利| 伊人久久大香线蕉综合网站| 麻豆精品久久久久久久99蜜桃| 欧美精品国产综合久久| 99国产精品久久久久久久成人热| 久久精品国产亚洲综合色| 伊人 久久 精品| 99久久中文字幕| 国产精品久久新婚兰兰| 88久久精品无码一区二区毛片 | yy6080久久| 国产精品久久久久久久久| 成人综合久久精品色婷婷| 精品久久久久久久中文字幕| 久久99热这里只有精品国产| 99久久精品国产高清一区二区| 综合久久一区二区三区 | 亚洲综合伊人久久大杳蕉| 国产成人精品久久亚洲高清不卡| 久久人妻少妇嫩草AV蜜桃| 久久ZYZ资源站无码中文动漫| 伊人色综合久久天天网 | 久久成人精品| avtt天堂网久久精品| 亚洲国产精品无码久久98| 性做久久久久久久久久久| 国产高清国内精品福利99久久| 精品熟女少妇a∨免费久久| 国产成人久久精品一区二区三区 | 青青青国产精品国产精品久久久久| 亚洲人成电影网站久久| 色婷婷综合久久久久中文字幕| 久久综合综合久久狠狠狠97色88| 久久棈精品久久久久久噜噜| 久久久久亚洲AV无码网站| 久久永久免费人妻精品下载| 色综合久久久久综合体桃花网 |