開發筆記11 2012-5-14 周一
當系統到了收尾階段,各個模塊組裝起來后,測試,發現問題,開發人員修改BUG。這個時候,一個現象是常常修改一個小BUG,又牽出另一個新的小BUG,甚至把已經好了的功能改壞掉。
測試人員苦惱,主管人員火大,開發人員郁悶委屈。
測試人員:剛才才測試一次,都好了,一改又出現這么多老問題,又要回歸測試一次,煩死了。
主管人員:白癡!怎么老動到好了的功能,明天我要去客戶機房安裝,..........
開發人員:項目這么緊,催命似的,修改錯了有什么稀奇!你牛你來做,.............
作為一個主管,我也會訓人;作為一個程序員,我也會出這樣的問題。
做了這么多年開發,雖然從來沒有寫出個有價值的程序來,但基本的普通的需求還是實現了不少,加上現在公司特小,開發、測試、項目管理我都有參與,還是比較理解這三方人員的處境。
畢竟問題是開發人員引起的,我要談談開發人員的問題。很多開發人員修改BUG,一通亂改,根本不顧及已有的代碼是否有耦合,痛痛快快改完,隨便測試一下,眼睛只注意這個BUG本身,完全對周圍功能視而不見,然后往SVN上一svn commit,bug系統上關閉了,完事大吉。這種家伙又常常開發經驗不豐富,十有八九把周圍修改到,產生功能變化或錯誤。更有甚者,有些極少數家伙,根本不單元自測,很自信,常常這種人脾氣還很大,測試人員發火,他還來氣。
底層邏輯功能如此,頁面部分更是如此。邏輯功能,勤快的寫了CPPUNIT或JUNIT,能避免很多問題,當然覺悟和速度高到寫了足夠的CPPUNIT或JUNIT了,這些個問題其實很少發生在他身上了。但是頁面部分,我沒見過什么好方法回歸Html、JS、CSS、標簽雜合出來的web頁面,不過既然是頁面,應該所見即所得,很容易看出修改到的問題,可是他們就不把目光一動多幾個像素!
開發者,如果你真的技術還可以,模塊緊湊性做好,修改時小心產生不良副作用,做完了之后有一定的單元測試,隨便來個簡單的回歸測試,常常你就沒有那么多反復。
很多開發人員總是把出錯的原因歸結于項目時間緊,其實是自己功力不夠、習慣太差!
技術不是力量,使用好技術才是力量,能使用好是需要人具有好素養和好心態的,寫出驚天動地的系統是天才們的杰作,實現一個普通的業務系統,你我都能勝任,問題是你心到不到,方法對不對,習慣好不好。
孔子說過:不患無位,患所以立。