我寫了一篇blog叫做《
招人不難》,很多朋友很贊同,也有的朋友不同意我的意見,他們很懷疑:“有bug的一律不要?沒有BUG的代碼是不存在的...blabla”
?
?
我們今天就來談?wù)劊粋€(gè)程序員,什么時(shí)候可以交出自己的代碼,并且可以自豪的對別人說:“我的代碼里面,沒有bug!”。
?
先說傳統(tǒng)的做法,一個(gè)負(fù)責(zé)的程序員,應(yīng)該在交出代碼之前,自己跑好多次自己的代碼,左看右看,上看下看。直到交出去的時(shí)候,沒有一個(gè)人能夠發(fā)現(xiàn)其中的問題。這樣的能力一般只有天才才能具備,我以前
遇到過一個(gè)。但是,如果我企圖以這樣的標(biāo)準(zhǔn)來招人的話,那就是在發(fā)瘋,怎么還敢說“招人不難”?
?
說說可行的辦法吧。一個(gè)程序員如果足夠的謙虛,時(shí)時(shí)想證明自己可能犯錯(cuò),即將犯錯(cuò),或者已經(jīng)犯錯(cuò)。那么他就會盡量寫出足夠多的TestCase,以便打消自己的疑慮。直到所有的測試用例全部通過,屏幕上顯示出美麗的綠色長條,他才能確信,自己的代碼沒有bug。
?
所以,我的判斷標(biāo)準(zhǔn),也很簡單。如果寄給我的代碼,沒有附帶測試用例,我就自己運(yùn)行他的程序,隨意的亂找,找到一個(gè)我認(rèn)為是bug的,那就是有bug了。如果寄給我的代碼,附帶了足夠的測試用例,我只要Run一次,看到綠條,這一關(guān)就算是過了。~~~很簡單吧。
?
也許有人會說,那如果他的測試用例很簡單呢?豈不是不能說明什么問題?怎么不能說明問題呢?首先可以說明:這是一個(gè)會寫測試用例的程序員!其次,我會看看他的測試用例的代碼,大概覆蓋了多少的功能特性。當(dāng)然,這是更進(jìn)一步的能力判斷。但是至少,他的代碼已經(jīng)達(dá)成了他自己的設(shè)計(jì)了呀。
?
所以:“有bug的一律不要”,意味著,你最好能夠自己證明自己沒有bug,否則,我如果找到一個(gè)bug,你就沒戲了。
posted on 2006-06-11 10:34
讀書、思考、生活 閱讀(29290)
評論(10) 編輯 收藏