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


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

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

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

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


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

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

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

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


          網站導航:
           
          <2006年6月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          常用鏈接

          留言簿(20)

          隨筆檔案

          友情BLOG

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 太谷县| 穆棱市| 筠连县| 申扎县| 浦江县| 沅陵县| 墨竹工卡县| 侯马市| 农安县| 天祝| 镇赉县| 垣曲县| 甘德县| 正阳县| 呼和浩特市| 城固县| 石城县| 宽城| 禹城市| 泽普县| 石楼县| 绩溪县| 陇西县| 磐石市| 济阳县| 荃湾区| 鄂托克前旗| 西昌市| 神木县| 武功县| 永仁县| 双牌县| 西充县| 千阳县| 阿坝县| 长泰县| 寿宁县| 海晏县| 河池市| 商都县| 吐鲁番市|