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


          FeedBack:
          # re: 如何寫出沒有bug的程序?
          2006-06-11 11:56 | wolfsquare
          鉆個牛角尖,如果程序?qū)懖怀鰷y試用例的情況呢?
          例如復(fù)雜的GUI程序.  回復(fù)  更多評論
            
          # re: 如何寫出沒有bug的程序?
          2006-06-11 12:17 | 讀書、思考、生活
          @wolfsquare
          這的確是個問題,不過如果是在招人的時候,還是盡量不要讓人家做太多GUI相關(guān)的demo,這樣的demo,也不容易評價水平的高低。

          如果是一個GUI為主的demo,那也只能靠人工判斷了。  回復(fù)  更多評論
            
          # re: 如何寫出沒有bug的程序?
          2006-06-11 14:25 | Andy luo
          原來是要寫測試用例阿,當時怎么就沒想到呢~~  回復(fù)  更多評論
            
          # re: 如何寫出沒有bug的程序?
          2006-06-12 14:57 | heny.alex
          look down on so man~  回復(fù)  更多評論
            
          # re: 如何寫出沒有bug的程序?
          2006-06-12 17:57 | 不曾真實
          第一:GUI也是可以寫出測試用例的。
          第二:問題的關(guān)鍵在哪里?是你的測試觀點。你有多少個觀點決定你可能發(fā)現(xiàn)多少個BUG。  回復(fù)  更多評論
            
          # re: 如何寫出沒有bug的程序?
          2006-06-14 09:43 | 不要出來搞笑
          沒有bug的程序?????????
          靠,站著說話不腰疼。那個公司可以做出沒有bug的軟件來?
          當然,沒有寫過程序的人不出bug!!
          估計這位同志不會寫代碼,是個理論專家。
          還是不要這么狂的好。
          我估摸按你的標準,你是肯定不會被別人錄用的!
            回復(fù)  更多評論
            
          # re: 如何寫出沒有bug的程序?
          2006-06-14 11:12 | 讀書、思考、生活
          @不要出來搞笑

          不要出來搞笑,謝謝。  回復(fù)  更多評論
            
          # re: 如何寫出沒有bug的程序?
          2006-06-15 17:27 | ronghao
          @讀書、思考、生活

          項目的開始還是盡量地寫測試用例,但是到項目的結(jié)尾,比如在表現(xiàn)層改動重新涉及到DAO層,就很難再對DAO層寫測試用例了:)趕時間啊
            回復(fù)  更多評論
            
          # re: 如何寫出沒有bug的程序?
          2006-06-16 16:51 | 123
          你是編程的嗎?
          無“BUG”搞笑吧你
          測試是不能查出所有BUG的
          而且不是所有測試都能窮舉的
          只能是測試覆蓋率達到一個標準
          BUG出現(xiàn)的概率達到標準
          才算產(chǎn)品
          “ZERO-BUG”做夢去吧


            回復(fù)  更多評論
            
          # re: 如何寫出沒有bug的程序?
          2006-06-26 09:47 | dfinger
          如果說一個產(chǎn)品有明確的是需求,設(shè)計,實現(xiàn)和完整測試用例。。
          那么無bug的夢想真的也不是那么難。。。
          不過呢。。往往需求總是會變化的。。。
          需求和實現(xiàn)總會脫節(jié)。。schedule的問題總會造成
          testcase跟不上代碼變化。。。最終淪為無用的東西之類事兒。。。

          如果說一個demo。應(yīng)該不會有什么問題。。
          但是一個龐大的產(chǎn)品。多個小組合作。。
          中間不可避免的會出協(xié)調(diào)性問題。。。。
          這好似工程上建大廈。如果按照成熟的板型
          咱們嘩啦嘩啦的建他100個。只要材料ok。態(tài)度認真。
          復(fù)核程序到位。。那房子肯定建的板板的。。。
          但是如果你是從新設(shè)計。。諸如法國那個飛機場似的。
          加入很多創(chuàng)新的元素。系統(tǒng)又復(fù)雜。。。你怎么可以說我
          幾十年后就肯定能保證不掉磚?

          這問題似乎很沒意思。每個人都不希望看到別扭的bug。。
          但是這永遠是一個極限。。好似成品率度只能算小數(shù)點后多少多少位
          哪怕是99.99999%。他也不是100%。。  回復(fù)  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          <2006年6月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          常用鏈接

          留言簿(20)

          隨筆檔案

          友情BLOG

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 兴城市| 陈巴尔虎旗| 黄骅市| 林州市| 西贡区| 德化县| 长泰县| 定陶县| 登封市| 库伦旗| 朔州市| 丹凤县| 岳池县| 郧西县| 神池县| 开江县| 奉化市| 泗洪县| 阿图什市| 平南县| 乌审旗| 灵山县| 子洲县| 安吉县| 武穴市| 比如县| 皋兰县| 积石山| 新闻| 张家口市| 海安县| 江都市| 洪洞县| 新余市| 固镇县| 蚌埠市| 金坛市| 印江| 互助| 乐山市| 延吉市|