用户永远都是笨蛋吗

problc 2009-11-22 09:08:11
软件的设计有一句常说的话,要把用户当做笨蛋。
但是,过去用户是笨蛋,用户就永远都是笨蛋吗。
为了把用户当做笨蛋,我们用程序把用户控制得死死的,一个年龄的输入框,我们要TextChange的时候判断是不是数字,是不是整数,是不是正整数,是不是在0-120岁之间。界面上控件的Enable,Disable控制得无比精细。一个ID输入框只允许输入数据,然后那天需求变了,能输入字母,客户端又得改。
我们的程序逻辑很大一部分都是在处理这些用户故意做错的情况。
有时我想,我们的程序是给需要用的人,还是故意做错的人。
有人把这叫细节,也有人追求简洁。
在大家的电脑水平都已经提高的情况下,用户需要的是怎样的价值,用户关心的是这些我们精心实现的细节吗。


...全文
662 80 打赏 收藏 转发到动态 举报
写回复
用AI写文章
80 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyerwing 2009-11-23
  • 打赏
  • 举报
回复
天下没有公平可言
所以这东西也没办法说,只要用户OK,全OK。
CADILLAC_AC 2009-11-23
  • 打赏
  • 举报
回复
也许用户很聪明,知道TextBox是否该填入数字还是字符.可是人回有出错的情况,比如按数字按到了标点上,这时提交了.那你的系统怎么办?等着崩溃吗?如果之前用户做了很多正确的输入,正在存档,因为一个下意识的失误导致系统崩溃了,那怎么办?失误总是难免的,你的系统应该能够保证应对这些失误.不然动不动就崩溃,谁敢用.
HDNGO 2009-11-23
  • 打赏
  • 举报
回复
你要这么想,做出来的东西就比较CSDN了
OROCHIORI 2009-11-23
  • 打赏
  • 举报
回复
在自己能实现出来的东西 尽量做到吧 当设计到自己做不到的时候 和客户好好沟通吧 主要和客户谈核心就是“客户是个人 人研究不瞎 手会按 智商正常的话 不会有问题的”
zl194 2009-11-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 alifriend 的回复:]
用户不是笨蛋
用户是傻逼
你不为这些傻逼做些预防措施,到时候你会遇到这样的事情:
用户:这是什么傻逼软件,年龄竟然可以输1000岁,我CTMD哪个傻逼程序员写出来的!
[/Quote]

支持
白头老汉 2009-11-23
  • 打赏
  • 举报
回复
必须保证傻瓜用这个软件的时候也没有问题。
当然,考虑开发成本和使用对象等因素,也不是所有事情都要做到哪种程度。
godlxldog 2009-11-23
  • 打赏
  • 举报
回复
确实是,尤其你开发的东西用户比较广泛时,你根本想不到他们的计算机水平能低到什么程度.
qq397472251 2009-11-23
  • 打赏
  • 举报
回复
顶·2楼
狼王_ 2009-11-23
  • 打赏
  • 举报
回复
都是为了预防错误,有的用户很聪明,他故意在年龄栏里输入11111,然后就会骂“哪个傻B写的傻B软件啊!年龄竟然可以输入11111”,那你除了限定条件还能怎么办?
nashina 2009-11-23
  • 打赏
  • 举报
回复
我觉得该设限制的地方还得设,只是需要有合理的提示;
毕竟这样可以避免很多没必要的麻烦
wt_sanlian 2009-11-23
  • 打赏
  • 举报
回复
呵呵,我们不也是ms的用户吗?

不应和用户这么对立,在中国,很多情况下,用户就是我们的测试组!
problc 2009-11-23
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 babyt 的回复:]
如果抱着这种态度去开发软件,我觉得是开发不出一个好的产品的。
用户是给软件用的,你就是要让软件给用户舒服的、方便的感觉。
我们开发的时候要设身处地的为用户着想,这里会不会输错,输错了会怎样
怎么让用户操作起来如行云流水,尽可能少的减少用户再鼠标和键盘之间的切换等等
而不是把客户摆在一个傻X的对立位置。

我们对程序的一些限定和判定,不是因为用户"傻X"到输入一些不符合规定数值
而是防止非刻意地错误,没有人会故意做错的。
而这些情况是我们一般开发很难体会到的。
比如说银行业务繁忙时,业务员甚至连屏幕都不看。操作完一个步骤就是一个回车。
而且万一有一些错误数据(比如说不是单纯可以看出来的,而是逻辑上的一些问题)会导致产生业务上的错误
那损失也是很大的


现在的UI是很高级了,可以单选多选下拉上拉的,但是你看银行的界面很多还是DOS界面。
我们是该BS他们落伍吗?
银行金融对IT的投资向来不吝啬,但是也是要以好用实用为前提。


有时候我们操作淘宝,很多用户体验是很棒的,贴切地让我们赞叹
我想如果淘宝如果把我们用户当做傻X,那他们也断然做不出这样的体验来。

前面有朋友说到某软件经理可以水来土掩兵来将挡,确实是有这种情况,但这个只是侥幸罢了。
如果换了项目,换了客户,是不是还有这种好运气呢。

话说回来,不说客户说自己。
如果明知自己的程序没有经过严格校验,那么自己就不担心客户出问题,甚至产生重大损失吗?
如果这样,软件交付以后不是完活后的轻松,而是每天更会多了忐忑不安。



[/Quote]
这不是态度问题,而是思想问题。
做软件没有人不希望用户满意。
校验只是一个举例。是不是所有的校验的要求都是一个级别,银行系统的校验和社交网站的用户信息的校验级别是不是一样,对客户的价值是不是一样的。
对于细节,我会尽力去让TabOrder符合用户的习惯,让用户不用动鼠标,如果这对用户是有价值的。
其他人说的崩溃的问题,一个系统如果因为用户输错了个东西就崩溃,那也设计得太差了。
如果真想搞破坏,用脚本模拟个错误输入还不容易吗。

miyimei 2009-11-23
  • 打赏
  • 举报
回复
所以说,开发前台程序就是惨,碰到需求老是变化的就更惨了。

搞程序员真不如去开个小咖啡馆,真不如。
sxinhe 2009-11-23
  • 打赏
  • 举报
回复
用户不都是笨蛋,,只是傻到极点的笨蛋。。就给他说明流程,,流程错了出了问题怪自己,这能怪的了谁,,, 你信不信他会害怕??
beibeisay88 2009-11-23
  • 打赏
  • 举报
回复
我感觉我们加验证不是为了用户,而是为了我们自己,软件后期维护太麻烦,现在都知道钱难赚,很多客户都是故意在刁难我们,为了避免那些不必要的麻烦,我认为一些我们可以想到的,能够预防的问题一定要预防。
心随莎动 2009-11-23
  • 打赏
  • 举报
回复
想成笨蛋还是好的
预防为主嘛,呵呵
理查德 2009-11-23
  • 打赏
  • 举报
回复
用户真的很SB
Mlive 2009-11-23
  • 打赏
  • 举报
回复
让用户感觉咱们的产品是傻瓜都是正道理
真正在攻击你的不是笨蛋用户,而是比你还要高的高手
风在指间 2009-11-23
  • 打赏
  • 举报
回复
我们得考虑极少数用户会发生的可能性。
ctwei86 2009-11-23
  • 打赏
  • 举报
回复
如果是专业的软件,只针对某类用户,那可以看情况而定,但是更多的是很,尤其是B/S类的项目,往往是谁都可以登录,包括“传说中的黑客”,所以必须要考虑。总的来说作为设计者,我们写东西必须要看用户的类型,灵活控制。
加载更多回复(60)

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧