Posted on 2010-06-05 01:06
dennis 閱讀(1104)
評論(0) 編輯 收藏 所屬分類:
涂鴉
作為一個coder,我不僅在寫程序,也在寫bug。遇到bug總是比較尷尬的事情,如果這個bug還是別人發(fā)現(xiàn),那更是心里不好受。責(zé)備自己是沒有用的,能做的是建立一個BUG數(shù)據(jù)庫,時常回顧下自己犯過那些愚蠢的事情,怎么避免以后再犯同樣的事情。昨天讀《程序員》看到一笑話,說優(yōu)秀的程序員哪怕在過單行道的時候也會向左右兩邊看,笑話其實(shí)不好笑,反而再次提醒我:小心、小心、再小心。
毫不慚愧地說,我也是今年才開始有意識地去做回顧bug這件事情,今天回顧下最近寫出來的這幾個BUG:三個是麻痹大意導(dǎo)致的,一個是switch語句竟然沒寫break,一個是并發(fā)BUG,一個是考慮問題不全面導(dǎo)致的問題。這里主要還是想講那三個麻痹大意寫出來的BUG,都是在急匆匆修改問題的情況下寫出來的,本意是為了解決原有的BUG,在自以為很有信心地情況下匆忙地修改代碼,沒有認(rèn)真做review,沒有添加單元測試,在解決問題的同時引入了新的問題。
這些愚蠢的BUG修正起來非常簡單,但是為什么那個時候卻沒有發(fā)現(xiàn)呢?我自省下,還是盲目自信導(dǎo)致的,因?yàn)榭焖俚匦迯?fù)BUG似乎很能給人一種虛假的快感:瞧,這個問題我修正起來很快,我是代碼快槍手,哦耶~,修復(fù)也還罷了,如果能再補(bǔ)充下測試,也許這些問題就能避免,但是我卻又一次自信過了頭。我在想,如果下次還遇到這種需要快速修改問題的時候我該怎么做,我該先深呼吸下,停一停,先想想怎么改再動手,想想風(fēng)險(xiǎn)點(diǎn),改完之后至少review三遍,并且一定要添加這些情況的測試。盡管我相信以后我還會寫下一些愚蠢的BUG,但是希望能讓自己少后悔一點(diǎn)點(diǎn)。