從java的數組初始化想到的

來源:互聯網
上載者:User

大家都知道Java中數組的聲明、定義和初始化是這樣一氣呵成的(動態初始化):

       int mm[];       mm=new int[4];       mm[0]=1;       mm[1]=2;       mm[2]=4;       mm[3]=5;

當然也可以一次性解決(靜態初始化):

       int mm[]={              1,              2,              4,              5              }; 

而如果你在編碼時做了如下改動,你覺得會發生什麼事情?

第一種:

       int mm[];       mm=new int[4];       mm[0]=1;       mm[1]=2;       mm[2]=4;//     mm[3]=5;

當然了,數組長度不變,mm[3]=0.

第二種:

       int mm[]={              1,              2,              4,//            5              };

你是覺得會報錯呢還是正常使用而數組長度還是4?

你可能會受到第一種情況的影響而做出判斷。

答案是,正常使用,數組長度為3.

和int mm[]={1,2,4};等同。

多麼人性化的設計,多麼貼心啊!

從心理上來講,我粗魯的注釋掉了一個數組元素而沒有做其他相應的修改,顯然這樣做是不對的,但是java對待錯誤的反饋是那麼寬容,這麼美好的使用者體驗我很是佩服。

這隻是偉大java的一個小縮影,但還是令我震動不已。

 

當使用者使用我們設計的軟體,有沒有這種待遇了呢?我有過很多痛苦的回憶,因為那種罵娘的事情還真多呀。

比如我在編輯簡訊的時候,按了回退鍵用以消除一個字元,沒想到退出了編輯介面,剛才打的字全沒了;在比如還是編輯簡訊,誤按了菜單鍵,菜單介面跳了出來,關掉它,卻回到了主菜單,輸入的簡訊內容全部消失。

每每遇到這種問題時,再好的脾氣也會忍不住罵幾句的。

 

所以,很希望自己設計出來的軟體不被使用者罵,我為自己規定了如下的要求:

一、深入瞭解使用者習慣

每個軟體都會有自己的受眾人群,這一點我們心裡要有數。尤其我們寫手機程式的,使用者面最廣,這就不可能要求每個使用者都是大學畢業,或者懂你的設計思想。你要遇見最苛刻的條件,比如使用者是個手機盲,是個電腦盲。這樣的使用者會有什麼樣的習慣呢?多與他們溝通,看他們有什麼想法。換位思考一下,你如果在他們的使用環境、行業、個人習慣,你會有什麼要求?設計前多思考一下這方面的事情,益處多多。

二、提出合理化建議,提升使用者體驗

從第一步中,你也許會得到差異化的反饋,有的使用者認為這樣對,有的認為那樣好,如果他們之間也會有衝突,那麼就需要你出面來解決。調查更多的使用者或主題專家,再根據自己的想法,提出合理化建議。此時要做到讓使用者沒有抵觸情緒,好的使用者體驗是個高深的技術,在於積累和細微之處見精神。這裡要做的工作很多。

三、自己做小白鼠

我們設計的程式要上線,首先要過自己這一關。自己反覆使用,自己首先發現問題(這樣省的測試員來找你麻煩)。你會發現,你在使用自己設計的軟體中,會不自覺的犯一些低級錯誤,就像剛剛提到的誤按其他鍵等,你需要有個好的容錯設計、人性化的提醒。你要做這個軟體的使用高手,好的程式員也是好的測試員。

從事軟體開發行業的我們,都會有這樣的夢想,就是做出大家喜歡的軟體。這其中的艱辛只有我們自己知道,只要我們用心去做,一定能夠成功!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.