大家都知道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的一个小缩影,但还是令我震动不已。
当用户使用我们设计的软件,有没有这种待遇了呢?我有过很多痛苦的回忆,因为那种骂娘的事情还真多呀。
比如我在编辑短信的时候,按了回退键用以消除一个字符,没想到退出了编辑界面,刚才打的字全没了;在比如还是编辑短信,误按了菜单键,菜单界面跳了出来,关掉它,却回到了主菜单,输入的短信内容全部消失。
每每遇到这种问题时,再好的脾气也会忍不住骂几句的。
所以,很希望自己设计出来的软件不被用户骂,我为自己规定了如下的要求:
一、深入了解用户习惯
每个软件都会有自己的受众人群,这一点我们心里要有数。尤其我们写手机程序的,用户面最广,这就不可能要求每个用户都是大学毕业,或者懂你的设计思想。你要遇见最苛刻的条件,比如用户是个手机盲,是个电脑盲。这样的用户会有什么样的习惯呢?多与他们沟通,看他们有什么想法。换位思考一下,你如果在他们的使用环境、行业、个人习惯,你会有什么要求?设计前多思考一下这方面的事情,益处多多。
二、提出合理化建议,提升用户体验
从第一步中,你也许会得到差异化的反馈,有的用户认为这样对,有的认为那样好,如果他们之间也会有冲突,那么就需要你出面来解决。调查更多的用户或行业专家,再根据自己的想法,提出合理化建议。此时要做到让用户没有抵触情绪,好的用户体验是个高深的技术,在于积累和细微之处见精神。这里要做的工作很多。
三、自己做小白鼠
我们设计的程序要上线,首先要过自己这一关。自己反复使用,自己首先发现问题(这样省的测试员来找你麻烦)。你会发现,你在使用自己设计的软件中,会不自觉的犯一些低级错误,就像刚刚提到的误按其他键等,你需要有个好的容错设计、人性化的提醒。你要做这个软件的使用高手,好的程序员也是好的测试员。
从事软件开发行业的我们,都会有这样的梦想,就是做出大家喜欢的软件。这其中的艰辛只有我们自己知道,只要我们用心去做,一定能够成功!