坏的设计、bug的程序,究竟会带来多大的痛苦,作为程序员的我们,感受到了用户的心情么?
斗胆发一次首页,如果不符合首页规则,还劳烦管理员撤掉,带来的不便还请体谅。文章最后一点点建议,希望程序员们能看到
作为一个程序员,我自然相信,任何软件是有bug的;作为小公司的半个设计师,我自然觉得,交互是一件麻烦事情……
但是,每当我们在svn提交一段不稳定的代码,每当我们修改一处赶出的设计的时候,有想过以后使用这款软件的人,会因为这些问题,出现什么?
当有了切肤之痛的时候,才知道自己的责任在哪里。
事情是这样的
作为一个有道词典的老用户,我非常习惯将平时的遇见的生单词同步到有道词典上,想必大家都会有这种习惯吧。随着时间的日积月累,从大学到毕业几年,我的有道词典已经积累到了4800个左右了。虽然比网上达人们动不动上万的单词积累来说,不算什么,但是这里的每一个单词,都是自己一个一个碰见了,不会而敲进去的,是有感情积累的一份记录。
然而,今天中午,我的这些记录,差点就毁于一旦。
早上,打开电脑,习惯性的将有道单词本打开,将之前的单词拿来记忆,ok之后,自然的拿出手机进行单词同步,方便出门在外的时候记忆了。
第一个悲剧发生了
同步之后,早上在pc机器上背的单词,只有英文,没有中文释义。
也就是说,同步出了些问题,其实问题也不算特别大,但是很心烦。于是我想把这几个空中文意思的单词删了再重新同步一次。
悲剧,接踵而来
由于没有中文的单词有点多,我选择了,清空,之后再同步。。。。。。
一阵卡(sync写在了主进程里?)之后,我的单词本的单词数量始终停留在了0上。。。。。。
我突然意识到,完蛋了!!!!
由于这里的“清空”并不是本地单词的清空,而是“删除记录中的单词”,在没有任何“提示或警告我正在删除近5000条不可恢复记录,”的情况下,我的几年积累,没了。
赶紧断电脑的网,希望电脑的有道词典还没同步。。。。。结果也晚了,电脑里的词典已是0记录了。
第一反应是,赶紧联系客服!
微博发私信,at 有道词典,有道网页里找联系方式:只有电邮,发送了也没回复。
在折腾了1个多小时之后没有任何结论的情况下,我只好自己动手
我会等会post出我的恢复方法(这是解决方案http://www.cnblogs.com/jicheng1014/archive/2013/06/11/3131879.html)
最终,我恢复了4800中的4760个单词,但是已经丢失了之前的单词复习进度,也就是说相当于所有单词都是新添加进来的。
很痛,而且伤心,看着自己的
为程序员同胞们的一点总结吧。
====================
1、永远不要真正的删除一条数据
记得大概06年的时候在程序员杂志上看到一条建议“永远不要删除一条数据”,当时不以为然,现在想起来,也算是个方法,至少有后悔药可以吃。实现的方式也很简单,加一个column,1为有效 0为无效即可,做删除的时候执行update ,1置为0即可,现在CURD的工具也很好实现,只需要更改基类,将delete动作复写即可。
2、在大量删除数据的时候,给个提示可以么?
我也知道在删一个文件的时候,弹出一个对话框会很烦躁,那么,一次删多个的时候呢? rm / –r 的时候呢? 提示一下,真的没什么的,特别是直接truncate 表、delete 超过100 条数据的时候。用户有几次删除数据会超过100条?多一次提示,会救命的。
3、做sync 的时候,“清空”这个危险的动作,需要更好的说明
要相信,sync的时候,总会遇到一些错误的。 用户的直觉,就是重新来同步一遍。 在重新同步没有解决的时候,他们会尝试,清空,同步的。拜托为他们弹出个框,说明下这样做的危险性!
4、同步程序是不是需要考虑下conflict 的问题?
如果说这次同步有conflict 的机制的话,似乎也有一个挽救的机会。
5、如果你的客户量大于1,000,000 时,客服机制很重要
其实我也算是有道老用户了,曾经也通过,邮件、新浪微博(@哥有石头)、软件自身的feedback 反映过不少bug‘(写邮件报告过有道取词和netbeans 的一些冲突、添加单词本过快时导致词语中文无法进入单词本,手机3.X时代同步1000单词以上巨慢无比),协助过技术人员解决过兼容问题(3.X下 有道在无实体按键的手机、平板上的兼容问题)。其实那时候的沟通,就感觉对方回复速度比较慢,而且邮件方式的时候,一直是没有得到任何回复,估计是没人维护吧。而且,我觉得对于报告超过5个bug的人员,好歹也应该多联系一下吧,这都算半个测试了,结果仍然是反应慢甚至是没反应。
知道这篇文章会有很多气话,但是真的,程序员们,当你们的程序上运行的是一个长年累月的产品,当你们的数据库里存储的是别人几年的心血的时候,请保持你的谨慎,无数的用户会衷心地感谢你的。