忙了几个月,总算是把项目上线了。通过几天客户的反馈,虽然不断有问题,但是都能及时解决,效果还不错,总的来说是一种比较理想的结局。
天下没有无Bug的程序,这是程序员的共知。每次项目上线之前,都要经过一番精神和心理上的斗争,简直就像在孕育一个孩子,上线之后,就像这个孩子出生了,虽然四肢健全,能动能吃能眨眼,但是这个孩子却整天小毛病不断,感冒发烧,腹痛呕吐,让人一刻也不能离开,一旦他出现了问题,就得及时地去解决。
在这几个月孕育和出生后维护的过程中,得到了一些思考。
阅读,阅读,阅读
项目过程中遇到两个问题,一个是在处理用户和角色的关系过程中,将一种用户和角色对应错误,导致数据出现严重错误。而在需求方案文档中,正确的对应关系写的很明白,对,就是很清楚地写在那里。但是几十页的需求方案,看的时候觉得很枯燥,根本没用心,就是粗略看了过去。
还有一个是Ajax方法总是不能走Action的问题,导致用户身份认证总是超时。这个问题断断续续持续了一个月,中间用了各种替代方法,后来发现都不理想。Ajax文档看了很多遍,从第一次学习Ajax就开始看,至少有三年了吧,每次都是简单地查阅一下,但是从来没有注意到有一个cache参数,对,就是这个参数的问题,这个每次都从眼皮底下滑过去的变量。
现在才发现原来很多问题的症结就是阅读。以前总是认为,这次文档没看仔细,下次看仔细就好了,都是从阅读对项目的重要性出发,这次没出现问题,就觉得阅读好坏无关,出了问题,就觉得认真阅读的很重要。却没有思考过阅读本身的重要性。阅读是一件很重要的能力,必须要培养这种能力。
小事多琢磨
项目中经常出现的问题,就是编码问题,包括url编码,js编码,ws接口参数编码,文本编码,这些问题也是反复出现,但也都不是什么大问题,每次出现之后很快就解决了。但是经常出现之后,发现其实根本问题就是编码问题,这本是一个很基础的问题,也不是一个大问题,解决起来很简单,所以就一直没有重视,也没有彻底去搞明白。后来把编码问题解决了,类似的bug就再也没有出现过了。
小事需要多琢磨,每一个小问题都需要弄明白,小问题如果不彻底解决,将来一定会以各种不同的方式复现,而且重复复现。项目中是这样,生活中也是这样,一个问题没解决,没想明白,以后一定会引发其他问题,以不同的形式,不同的程度。
现状,是对过往的积累
现状是一个累加器,他把现在所做的事累加起来,包括做事的方式和态度,如果面对问题,得过且过,不彻底解决,或者避开问题,这些问题不会消失,它会在出现在累加器上,那么将来得到的一定是一堆问题,而不是解决问题的方式。