忙了幾個月,總算是把項目上線了。通過幾天客戶的反饋,雖然不斷有問題,但是都能及時解決,效果還不錯,總的來說是一種比較理想的結局。
天下沒有無Bug的程序,這是程序員的共知。每次項目上線之前,都要經過一番精神和心理上的斗爭,簡直就像在孕育一個孩子,上線之后,就像這個孩子出生了,雖然四肢健全,能動能吃能眨眼,但是這個孩子卻整天小毛病不斷,感冒發燒,腹痛嘔吐,讓人一刻也不能離開,一旦他出現了問題,就得及時地去解決。
在這幾個月孕育和出生后維護的過程中,得到了一些思考。
閱讀,閱讀,閱讀
項目過程中遇到兩個問題,一個是在處理用戶和角色的關系過程中,將一種用戶和角色對應錯誤,導致數據出現嚴重錯誤。而在需求方案文檔中,正確的對應關系寫的很明白,對,就是很清楚地寫在那里。但是幾十頁的需求方案,看的時候覺得很枯燥,根本沒用心,就是粗略看了過去。
還有一個是Ajax方法總是不能走Action的問題,導致用戶身份認證總是超時。這個問題斷斷續續持續了一個月,中間用了各種替代方法,后來發現都不理想。Ajax文檔看了很多遍,從第一次學習Ajax就開始看,至少有三年了吧,每次都是簡單地查閱一下,但是從來沒有注意到有一個cache參數,對,就是這個參數的問題,這個每次都從眼皮底下滑過去的變量。
現在才發現原來很多問題的癥結就是閱讀。以前總是認為,這次文檔沒看仔細,下次看仔細就好了,都是從閱讀對項目的重要性出發,這次沒出現問題,就覺得閱讀好壞無關,出了問題,就覺得認真閱讀的很重要。卻沒有思考過閱讀本身的重要性。閱讀是一件很重要的能力,必須要培養這種能力。
小事多琢磨
項目中經常出現的問題,就是編碼問題,包括url編碼,js編碼,ws接口參數編碼,文本編碼,這些問題也是反復出現,但也都不是什么大問題,每次出現之后很快就解決了。但是經常出現之后,發現其實根本問題就是編碼問題,這本是一個很基礎的問題,也不是一個大問題,解決起來很簡單,所以就一直沒有重視,也沒有徹底去搞明白。后來把編碼問題解決了,類似的bug就再也沒有出現過了。
小事需要多琢磨,每一個小問題都需要弄明白,小問題如果不徹底解決,將來一定會以各種不同的方式復現,而且重復復現。項目中是這樣,生活中也是這樣,一個問題沒解決,沒想明白,以后一定會引發其他問題,以不同的形式,不同的程度。
現狀,是對過往的積累
現狀是一個累加器,他把現在所做的事累加起來,包括做事的方式和態度,如果面對問題,得過且過,不徹底解決,或者避開問題,這些問題不會消失,它會在出現在累加器上,那么將來得到的一定是一堆問題,而不是解決問題的方式。