程序员需要知道的97件事情之 --- 理解用户的操作习惯

[size=medium]本人英语抄过4级,奇烂无比,翻译这个实属蛋疼,错误是肯定有的,而且是翻不出来就是随便猜,欢迎指正,谢谢啦。但愿我能够翻完我看的懂的....
原链接:oreilly的程序员需要知道的97件事http://programmer.97things.oreilly.com/wiki/index.php/Contributions_Appearing_in_the_Book

我们都往往会假设其他人的想法和我们一样。但是事实上往往不是如此。心理学家人把这种状况叫做“虚假同感偏差”。当人们的想法和行为异于我们,我们很容易给他们他们贴上某方面有缺陷的标签
这种偏差解释了为什么程序员们花费大量时间让他们自己从用户的角度思考问题。用户想法和程序员不一致。首先,用户们很少很电脑打交道,他们根本不关心计算机是怎么工作的。这意味着他们不能够利用任何程序员解决技术问题的方法。他们无法认同程序员平时的工作和思维的方式。

找出用户如何思考的最佳途径是观察。要求用户测试一个我们正在开发软件的一部分任务,而且必须确认这个任务是真实存在的。比如:“将这列的数据合计”也行,或者是“计算你上月的开支”之类的就更好了;避免那些比较特殊的问题,比如:“你能选择表格并且输入合计的结果吗?”,这类问题中巨大的暗示,很难获取用户想法。要求用户回报他们的进展,不要打断他们,也不要尝试去帮助他们。而要常常询问自己:为什么他这么做和为什么他不这么做?

首先,你将注意到用户将做一序列相似的行为,他们用相同的方式结束任务,在同样的地方犯同样的错误。你可以针对用户的行为设计。这将有别于设计会议,人们往往只是听听“什么是用户可能需要的”。这将导致静心设计的特性和用户需要的不一致。观察用户,排除这些混乱。

你将看见用户被眼前的页面或者操作迷惑,当你被迷惑或者不知道怎么操作的时候,你将观察四周的情况,当用户被迷惑的时候,他们仅仅关注他们自己注意的地方。这将使得他们很难用显示屏上得到解决方案。这就是使得帮助页面成为一个很烂的解决方案。当你需要用户说明或者帮助文档时候,请将它们方案错误容易发生的区域的正确位置。用户关注区域有限,这就是为什么小提示比帮助菜单更加有效的原因。

用户往往很糊涂,他们可能找到一种能够完成工作的方法,并且一直都坚持下去,不管这种方式是多么的糟糕。所以最好提供一种快捷方法去完成任务的提示好过2,3种。

你可能还能够发现,用户自己所说的和他们真正做的事情,也是会有出入的。这也是平时通过询问用户来收集需求所带来的烦扰…这也是为什么最好需求收集方式是观察用户的行为,不夸张的说,花费1小时来观察用户比和用户讨论一天然后猜测他们的想法所收集的信心还要多!
[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为一名 Java 程序员,了解硬件层面的内存知识是非常重要的。在 NUMA 架构下,内存的访问速度会受到影响,因此了解 NUMA 架构的内存分布和访问方式,可以帮助程序员优化程序的性能。 NUMA 架构是一种多处理器架构,其中每个处理器都有自己的本地内存和一组本地 I/O 设备。这些处理器通过一个快速互联网络连接在一起,共享全局内存和 I/O 设备。 在 NUMA 架构下,内存被分割成多个本地内存区域和全局内存区域。本地内存区域是指与处理器直接相连的内存区域,访问速度最快。全局内存区域是指被所有处理器共享的内存区域,访问速度相对较慢。 程序员需要了解的是,当一个线程在处理器上执行时,它会优先访问本地内存区域,如果需要访问全局内存区域,则会通过互联网络访问,这会导致访问速度变慢。因此,在程序设计时,需要尽可能地减少线程之间的共享内存,避免出现频繁的跨处理器访问全局内存的情况。 另外,程序员需要了解内存对齐的概念。在 NUMA 架构下,由于不同处理器的内存访问速度不同,如果内存没有对齐,则会导致不同处理器之间的数据传输速度不一致,进而影响程序的性能。因此,在程序设计时,需要注意内存对齐的问题,尽可能地将数据放在相邻的内存位置,避免出现不必要的跨处理器数据传输。 总之,了解 NUMA 架构的内存分布和访问方式是非常重要的,可以帮助程序员优化程序的性能。程序员需要注意线程之间的共享内存和内存对齐的问题,尽可能地减少跨处理器访问全局内存的情况,提高程序的执行效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值