66. 防止错误

来源:互联网 发布:阴线买入公式源码 编辑:程序博客网 时间:2024/05/02 00:54

防止错误

        错误消息是用户和系统其余部分之间最关键的交互,它们在用户和系统的交流接近崩溃时出现。
        很容易认为错误是由于用户的不当输入造成的,但是人们是会犯一些可预测、系统的错误的。于是,“调试”用户和系统其余部分就和系统其它组件一样是可能的。
        例如,假设你想要用户输入一个在某个允许的范围内的日期。与其让用户输入任何日期,不如提供一种只显示允许的日期的设备,比如一个列表或者日历。这就消除了用户输入范围之外的日期的可能性。
       格式错误是另一个常见问题。例如,如果用户给用户展示一个日期文本框,用户就可能输入一个明确的日期,比如“July 29, 2012”。简单地因为它不符合预期的格式,如“DD/MM/YYYY”,而拒绝它是不合理的。因为含有额外空格而拒绝“29 / 07 / 2012”更是不可取。这样的问题用户理解起来尤为困难,因为日期看起来就是想要的格式。
        发生这些错误的原因是拒绝日期比处理三四种常见日期格式要更容易。这些细微的错误导致用户产生疑惑,接着用户由于分散了注意力而产生额外的错误。取而代之的方法是,尊重用户输入信息而不是数据的习惯。
        另一个避免格式错误的方法是提供提示,比如,显示一个期望的格式(“DD/MM/YYYY”)的文本框。另一个提示可以是将输入分为三个分别允许两个、两个、四个字符的文本框。
        提示和介绍是不同的:提示倾向于暗示;介绍则很详尽。提示在交互的时刻出现;介绍在交互之前就出现。提示提供上下文;介绍规定用法。
        一般来讲,介绍对于防止错误是没有多大效果的。用户倾向于假设交互会与他们以往的经验认为的一样有效(“肯定每个人都知道‘July 29, 2012’是什么意思吧?”),因而不会阅读介绍。提示帮助用户避免错误。
       还有一个避免用户的方法是提供默认值。比如,用户一般会输入今天、明天、生日、最终期限或者上次输入的值。根据上下文,这些中的某个很可能是一个聪明的默认值的好的选择。
       不管是什么原因造成的,系统都应该能够容错。你可以通过给所有的动作提供多层的“撤消”实现,特别是对那些可能损毁或者修改用户数据的动作。
        记录和分析“撤消”操作也可以展示出导致用户出错的地方,比如持续点击“错误的”按钮。这些错误通常是由于错误引导的提示和交互序列造成的,可以重新设计以便防止更多的错误。
        不管你采用哪种方法,大多数错误都是系统性的,是用户对软件的错误理解的结果。理解用户如何思考、阐释信息、做出决定和输入数据会帮助你调试你的软件和你的用户之间的交互。

原文:Prevent Errors by Giles Colborne