导读:
编程的时候经常会遇到一些长时间的操作,比如读取大量文件并进行解析、从远端服务器读取文件、进行复杂的数据库操作等,如果处理不好的话,会造成程序好像死掉了一样。令人震惊的是,很多程序员对此并不在乎,因为他们知道程序为什么而“死掉了”,并向用户解释说程序在做什么,不用担心,只要等就可以了。如果站在用户的角度思考一下就知道这种想法有多么可怕。
这里讲作者经历过的事情:曾经开发过一个从超大XML文件(大于10M)中导入数据并插入到数据库中的功能,由于在导入每一条数据的时候都要把和这条数据有关的数据从数据库中取出来,然后进行一定的处理后再插入到数据库中,所以耗时是非常长的,一般都要耗时半个小时以上。在做第一个版本的时候没有考虑进度条,当把程序发给用户的时候,用户用了一会儿就打电话过来:“那个程序死掉了,帮我看看吧!”,通过向他解释这是正常的,他这才将信将疑地放下电话,没过了5分钟,又打电话过来“怎么还是死的,你们怎么做的程序,我要投诉你!”。后来终于导入成功了,但是从用户的反馈来看,他们是十分的不满意。后来在给这个程序开发bug修复补丁的时候顺手给程序加上了进度条的功能,随时报告当前的进度,几乎没有增加工作量。谁知发给客户以后,客户赞扬说:“这个版本改进比较大呀,好多了,不错!现在我都是单击完【导入】按钮以后就去做别的事情了,时不时地回来看看导入进度!”——作者这才深刻的意识到“进度条”这个在技术人员看起来微不足道的小功能在改善用户体验方面有多么重要的作用。
后来在去客户现场做支持的时候看到的一幕又感到猛然一惊。所做的那个数据导入功能是ERP系统中的一部分&#x
编程的时候经常会遇到一些长时间的操作,比如读取大量文件并进行解析、从远端服务器读取文件、进行复杂的数据库操作等,如果处理不好的话,会造成程序好像死掉了一样。令人震惊的是,很多程序员对此并不在乎,因为他们知道程序为什么而“死掉了”,并向用户解释说程序在做什么,不用担心,只要等就可以了。如果站在用户的角度思考一下就知道这种想法有多么可怕。
这里讲作者经历过的事情:曾经开发过一个从超大XML文件(大于10M)中导入数据并插入到数据库中的功能,由于在导入每一条数据的时候都要把和这条数据有关的数据从数据库中取出来,然后进行一定的处理后再插入到数据库中,所以耗时是非常长的,一般都要耗时半个小时以上。在做第一个版本的时候没有考虑进度条,当把程序发给用户的时候,用户用了一会儿就打电话过来:“那个程序死掉了,帮我看看吧!”,通过向他解释这是正常的,他这才将信将疑地放下电话,没过了5分钟,又打电话过来“怎么还是死的,你们怎么做的程序,我要投诉你!”。后来终于导入成功了,但是从用户的反馈来看,他们是十分的不满意。后来在给这个程序开发bug修复补丁的时候顺手给程序加上了进度条的功能,随时报告当前的进度,几乎没有增加工作量。谁知发给客户以后,客户赞扬说:“这个版本改进比较大呀,好多了,不错!现在我都是单击完【导入】按钮以后就去做别的事情了,时不时地回来看看导入进度!”——作者这才深刻的意识到“进度条”这个在技术人员看起来微不足道的小功能在改善用户体验方面有多么重要的作用。
后来在去客户现场做支持的时候看到的一幕又感到猛然一惊。所做的那个数据导入功能是ERP系统中的一部分&#x