若是第二次看到我的文章,迎接右侧扫码订阅我哟~
每周五11:45 定时送达。固然了,也会时不时加个餐~
我的第「149」篇原创敬上
人人好,我是Z哥。
不管是一样平常的事情中照样生涯中,我们天天会用到许多软件系统。
不知道你有没有过这样的感受,当你使用软件遇到异常的时刻,有时刻软件给出的错误提醒让人摸不着头脑。唯一的设施就是复制到搜索引擎搜一下,看看有没有哪个不幸的人与我遇到一样的问题。
以是,一个好的错误提醒稀奇主要。它不但能让使用者明了当前到底发生了什么,甚至还能指导若何解决异常。到达这个水平的话自然可以大大提高系统的使用效率,也能间接降低己方商务职员或者产物司理的培训成本。
因此,作为程序员群体的一份子,在这里我想呼吁人人认真对待错误提醒,稀奇是那些不是给“人”看的错误提醒……
作为软件的创造者,我们虽然无法制止泛起异常、泛起bug,然则我们可以做到制止无意义的错误提醒发生。
首先,一些常见的容易让人摸不着头脑的错误提醒要先制止。好比,
-
提交失败。
-
数据读取失败。
-
……
这类错误提醒看上去准确表达了当前遇到的问题,实际上啥也没说。你想象一下,当我点击一个提交按钮之后,页面没有跳转而且还弹个框出来,哪怕内里什么字都没写,我能也猜到这里估量出错了。
然则详细错在哪?作为用户该若何处置?一概不知。
另外,另有一种常见的情形是,错误提醒含有太多的手艺术语,使用者基本不明了啥意思,也不体贴这些。好比,
-
远程服务响应超时。
-
事务执行失败,XX保留失败。
-
……
实在这还算好的,有的甚至把手艺框架中返回的expcetion信息直接作为错误提醒出来。这对用户看起来就是一堆乱码,他只会找你说“系统乱码了,帮我解决一下……”。
若是上面的情景就在你一样平常事情中发生,也不用不好意思,我们都是这么过来的。Z哥我自己以前也同样没意识到这个问题,经由了这些年的事情之后,我以为,编写准确的错误提醒可以根据以下的思绪来。
/01 不要提醒用户不体贴的信息/
首先来个排除法。
我们作为程序员经常需要通过一些手艺性的线索来排查问题,稀奇是expcetion信息。但用户并不体贴它们,而且他们无法对此类新闻举行任何处置。
以是,这些信息记录到日志里就好,页面上无需给出这种用户不体贴的信息。
/02 清晰表达问题缘故原由/
让用户清晰的知道问题的缘故原由,是他能否自行解决问题的基础。
好比,前面提到的“提单失败”的例子,你告诉他由于缺少XX信息导致提交失败,那么使用者自然会去想设施把缺少的信息给补上。
我还记得我之前用某个邮箱的时刻,有封邮件发不出去,它总是提醒我“邮件发送失败。”我真是服了,到底啥缘故原由发送失败,厥后经由自己不停的测试才知道是某个附件太大了导致发送失败。
/03 给出指导建议/
这点在一些企业内部使用的系统,以及一些toB的项目中稀奇主要。由于大多数系统使用者都只卖力自己事情相关的部门,对其他的模块并不领会。以是,哪怕你将问题的缘故原由表达的很清晰,然则他照样不知道该若何解决,只能追求产物司理或者开发职员的协助。
好比,电商平台的客服在后台替用户修改订单收货地址的时刻,发现某个区域下没有可用快递可选。若是你没有给出指导,诸如“联系XX职员举行设置。”之类的内容,那么他们只能来找你解决,无其他路可走。
若是想做得更好一些,针对某些场景可以直接放出下一步操作的毗邻,这样用户可以直接到达需要他举行操作的页面。
/04 提醒内容尽可能简短/
文字一多,大多数人都不会逐字逐句看的,甚至有些人会完全不看。
Z哥事情中遇到过无数次这种情形。不管是错误提醒照样操作提醒,不管你写的何等详细、清晰,只要文字跨越2行或者有几十个字以上,许多人看都不看直接截个图发给你,问你该怎么办?
听说有个美国机构做过相关的研究:
若是句子中的单词数不跨越8个,读者可以明白其中的100%。若是句子包罗43个单词或更长的单词,则读者的明白力将下降到不足10%。
虽然这个研究说的是英文,然则中文也是类似的原理。不外我没找到这个研究的详细出处,不知道真假,然则我以为这个结论照样很相符知识的。
以上这4点说起来简朴,也很好明白,没什么新颖的。然则真正做的时刻许多人就把它们抛之脑后了。
固然,比给出合理的错误提醒更好的是,制止泛起错误。以是你还可以更进一步,提前规避掉一些错误。
好比,
-
为了制止日期选择跨越有用局限,可以对有用局限外的日期设置为禁用状态。
-
为了制止在信用卡卡号之类的文本框内输入数字以外的字符,做一下输入限制。
-
为了制止在弱网络下页面无法正常加载而提醒错误,可以做缓存,提前预存一些数据在内陆。
-
……
好了,总结一下。
这篇呢Z哥和你分享了我对软件系统抛出的错误提醒的看法。我以为好的错误提醒需要相符以下4点。
-
不要提醒用户不体贴的信息
-
清晰表达问题缘故原由
-
给出指导建议
-
提醒内容尽可能简短
若是可以的话,还可以通过做一些前置的限制约束来提前规避掉一些可能发生的异常。
希望对你有所辅助。
推荐阅读:
-
怎么开会才不浪费时间?
-
真的是设计赶不上转变吗?
作者:Zachary
出处:https://zacharyfan.com/archives/1250.html
若是你喜欢这篇文章,可以点一下右下角的「推荐」。
这样可以给我一点反馈。: )
谢谢你的举手之劳。
既然看到这了,送我一个「赞许」吧,支持我的创作。
想更进一步和我一起玩耍,迎接「搜索微信公号:跨界架构师」或者在「右侧扫描」。
内容包罗:架构设计丨分布式系统丨产物丨运营丨小我私家深度思索。
,
,既然看到这了,送我一个「赞许」吧,支持我的创作。
想更进一步和我一起玩耍,迎接「搜索微信公号:跨界架构师」或者在「右侧扫描」。
内容包罗:架构设计丨分布式系统丨产物丨运营丨小我私家深度思索。
欢迎进入欧博客户端(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。
版权声明
本文仅代表作者观点,
不代表本站Allbet欧博官网的立场。
本文系作者授权发表,未经许可,不得转载。
评论