`
zhouxwyeah
  • 浏览: 21057 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

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

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

   我们都往往会假设其他人的想法和我们一样。但是事实上往往不是如此。心理学家人把这种状况叫做“虚假同感偏差”。当人们的想法和行为异于我们,我们很容易给他们他们贴上某方面有缺陷的标签
这种偏差解释了为什么程序员们花费大量时间让他们自己从用户的角度思考问题。用户想法和程序员不一致。首先,用户们很少很电脑打交道,他们根本不关心计算机是怎么工作的。这意味着他们不能够利用任何程序员解决技术问题的方法。他们无法认同程序员平时的工作和思维的方式。
  
    找出用户如何思考的最佳途径是观察。要求用户测试一个我们正在开发软件的一部分任务,而且必须确认这个任务是真实存在的。比如:“将这列的数据合计”也行,或者是“计算你上月的开支”之类的就更好了;避免那些比较特殊的问题,比如:“你能选择表格并且输入合计的结果吗?”,这类问题中巨大的暗示,很难获取用户想法。要求用户回报他们的进展,不要打断他们,也不要尝试去帮助他们。而要常常询问自己:为什么他这么做和为什么他不这么做?

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

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

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

  你可能还能够发现,用户自己所说的和他们真正做的事情,也是会有出入的。这也是平时通过询问用户来收集需求所带来的烦扰…这也是为什么最好需求收集方式是观察用户的行为,不夸张的说,花费1小时来观察用户比和用户讨论一天然后猜测他们的想法所收集的信心还要多!
分享到:
评论

相关推荐

    程序员你为什么这么累-晓风轻编码规范1

    文章指出,尽管编程工作看似简单,如CRUD操作,但程序员往往因为编码习惯不佳、代码质量低下而导致大量时间和精力消耗在问题定位和修复上。 在编码规范方面,文章强调了以下几个关键点: 1. 接口定义:良好的接口...

    how-to-be-a-programmer-cn.pdf

    综上所述,成为一名优秀程序员不仅需要扎实的技术功底,还需要具备良好的团队合作精神、高效沟通能力和持续学习的习惯。通过不断地实践和反思,我们可以不断提高自己,在这个快速发展的行业中保持竞争力。

    编写高质量代码:改善Python代码的91个建议-中文版

    - 掌握字符串的基本操作是任何Python程序员必备的技能之一。 20. **排序函数的选择**:分析`sort()`和`sorted()`之间的区别及适用场景。 - `sort()`和`sorted()`都有其特定的应用场合,理解这些区别有助于编写更...

    C和C++编程心得

    **语言之后要确定的事情------操作系统和平台** - **兼容性考虑**: 编程时需要考虑到目标操作系统和平台,因为不同的操作系统可能会有不同的特性和限制。 - **跨平台编程**: 一些编程语言(如Java)支持跨平台特性...

    Extreme Programming in Perl

    - 这种方法有助于更好地理解用户的需求。 **8.6 数据驱动测试** - 使用数据驱动的方法来设计测试用例。 - 这样可以更加系统地测试各种输入情况。 **8.7 授权客户进行测试** - 让客户参与到测试过程中,可以帮助...

    ADRpy-0.1.19-py2.py3-none-any.whl.zip

    标题中的"ADRpy-0.1.19-py2.py3-none-any.whl.zip...在安装和使用Python库时,理解这些基本概念和流程至关重要,特别是对于那些需要快速部署或在限制环境中工作的开发者。熟悉并掌握这些知识能极大地提高开发效率。

    XXC语言实践实习心得体会体会.doc

    我们知道,不同的开发环境可能有不同的操作方式,但通过这次实习,我们已经掌握了最基本的开发流程。在未来的工作中,不管面对什么样的开发环境,我们都能够快速上手,这对于提高工作效率具有重要意义。 C语言的...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    用程序之中,通过这些对象的相互作用,程序员可实现高层次的操作和更负责的功能。某此 对象通过向其他对象发送消息与其他对象进行交互作用和通信。 消息是以参数的形式传递给某方法的。一个消息通常由三部分组成: 1...

    c++学习的50条黄金定律

    ### C++学习的50条黄金定律解析 #### 1. C++学习初期与C语言的关系 - **解析**:C++是基于C语言发展而来的,因此...- **解析**:最重要的是,编程应该是一件有趣的事情。保持积极的心态,享受每一次学习和实践的过程。

    sakura 编辑器

    此外,它还支持括号匹配,使得对齐和检查括号成为一件轻松的事情。 在文本操作方面,Sakura编辑器支持多文档同时编辑,可以在一个窗口内管理多个文件,切换自如。它还具有查找替换功能,允许用户快速定位和修改文本...

    C#微软培训资料

    7.4 关系操作符和关系表达式.65 <<page 2>> page begin==================== 7.5 逻辑操作符和逻辑表达式.68 7.6 位 运 算 .69 7.7 其它特殊操作符 .72 7.8 小 结 .77 第八章 流 程 控 制 .79 8.1 ...

    二十三种设计模式【PDF版】

    培养自己良好的编程习惯(让你的的程序使用通用的模式,便于他人理解;让你自己减少重复性的编程工作),这无疑是成为一个优秀 程序员的必备条件. 整个设计模式贯穿一个原理:面对接口编程,而不是面对实现.目标原则是:...

    免费强大的录屏软件captura

    用户可以设置鼠标点击的高亮显示,或者添加鼠标轨迹,让观看者能够清楚地跟随操作者的步骤,这对于那些需要详细讲解软件操作步骤的教程来说,无疑是一个非常好的功能。无论是对于教学、演示还是指导类视频,这个功能...

    c语言规范的一些文章

    例如,关于函数的定义,通常建议每个函数只做一件事情,并保持其功能单一;避免全局变量的使用,以减少潜在的副作用;合理地使用括号,避免运算符优先级引发的误解。 3. **文档化**:文件“C语言编程风格.doc”和...

    我的VBA十诫,指引vba编程的宝典

    良好的注释习惯不仅可以帮助其他开发者(包括未来的你)更快地理解代码的功能,还能在团队协作中发挥重要作用。应该尽可能多地添加注释,解释代码的关键部分,特别是那些可能不易理解的部分。 #### 四、恢复初始...

    编程及C&C++初学者 FAQ.pdf

    ##### 语言之后要确定的事情——操作系统和平台 在选择编程语言之后,还需要考虑目标操作系统和平台。不同的操作系统可能需要不同的开发工具和环境配置。 ##### 编程时什么东西最重要——源代码 源代码是编程中最...

    临时编码:我认为临时编码是学习概念最重要的事情

    1. 变量与数据类型:在Jupyter Notebook中,可以轻松地声明和赋值变量,尝试不同的数据类型,如整数、浮点数、字符串、列表、元组、字典等,理解它们的特性和操作方法。 2. 控制流:通过临时编码,可以快速掌握条件...

    XML高级编程

    前 言可扩展标记语言(Extensible Markup Language, XML)作为一种计算技术出现不过是短短几年前的事情。它是一种概念,以其简便性而颇得人心,它驱动了Internet应用程序编写方式的动态改变。本书的覆盖范围本书解释...

Global site tag (gtag.js) - Google Analytics