中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

修復(fù)Bug好比釣魚

  英文原文:Fixing a Bug is Like Catching a Fish

經(jīng)理:該Bug何時能得到修復(fù)?

經(jīng)驗缺乏的程序員:也許一個小時?最多兩個小時!馬上去做!

經(jīng)驗豐富的程序員:嗯,捉一條魚需要多少時間呢

  在現(xiàn)實操作中,很難能明確知道一個軟件缺陷需要多久可以修復(fù),尤其是當(dāng)你對代碼不了解的情況下。James Shore在“敏捷開發(fā)藝術(shù)”一書中指出:“在你需要修復(fù)Bug時,你必須找到是哪里出錯了?”,問題的關(guān)鍵是不能準(zhǔn)確估算多久才能找出是哪里報錯的。只有知道“病源”在哪?你才能準(zhǔn)確估算修復(fù)的時間。但那為時已晚,根據(jù)Steve McConnell

“發(fā)現(xiàn)缺陷——理解缺陷——通常占了工作的90%”。

  有許多缺陷只需要改一行代碼就可以修復(fù)。時間都花在確定該行上面,就好像釣魚的時候該把魚鉤放哪?何時何地魚會上鉤一樣。每個Bug都有它們自己的性格特征,有些可能很容易被發(fā)現(xiàn),而有些可能會跟你玩“捉迷藏”,并且容易發(fā)現(xiàn)的Bug不一定就很難修復(fù),當(dāng)然,那些擅長玩“隱藏”的Bug有可能很容易被修復(fù)。

  查找和修復(fù)

  下面讓我們來看看如何發(fā)現(xiàn)并修復(fù)Bug。當(dāng)調(diào)試時,Paul Butcher把每個步驟都進行了很好的描述。經(jīng)驗豐富的程序員會很熟悉這種結(jié)構(gòu)化和紀(jì)律性的步驟要領(lǐng)。

  1. 確定查找目標(biāo),審查Bug報告,看看該Bug描述是否很合理并且提供了足夠的信息去發(fā)現(xiàn)和重現(xiàn)。檢查一下該報告以前是否遇到過,如果是,可以檢查以前是如何處理的。
  2. 清理桌面——找到正確的代碼并檢查、清理工作空間。
  3. 設(shè)置與之匹配的測試環(huán)境。這可能是微不足道的,或者是不可能出現(xiàn)的,如果客戶是在一個你無法訪問的配置下運行。
  4. 對代碼的理解已經(jīng)毫無問題,并且通過現(xiàn)有的測試套件。
  5. 釣魚的時間到了,重現(xiàn)并且診斷錯誤。如果你不能重現(xiàn)這個錯誤,那么就無法去修復(fù)。
  6. 寫新的(失敗的)開發(fā)測試報告或者修復(fù)現(xiàn)有測試報告來捕捉Bug。
  7. 進行修復(fù)——確定沒有破壞其他功能模塊。這里可能會包括,在修復(fù)之前對代碼進行重構(gòu)使代碼更容易被理解,并且使整個修復(fù)更安全。在后面的回歸測試中確保沒有引入任何新的錯誤。
  8. 努力讓代碼更安全,更清潔,做一些循序漸進的重構(gòu)確保代碼更健壯并且易于維護的。
  9. 修復(fù)完成后,讓他人進行審查,確保你沒有做一些愚蠢的事情。
  10. 再次檢查。
  11. 檢查該Bug在其他分支中是否存在,如果你不是主線,你可以在里面進行合并,然后在代碼里面進行處理,并且瀏覽所有相同的評論和測試報告。
  12. 結(jié)束并且進行思考和總結(jié)。明白是哪里出錯了?為什么?是否真正理解自己的修復(fù)?在別的地方還會發(fā)現(xiàn)這個錯誤嗎?在Pragmatic Programmer,Andy Hunt和Dave Thomas也同樣問了這樣的問題:“如果你花了很長時間去修復(fù)這個Bug,問問自己,到底是為什么?”在將來,如何讓該Bug更容易被發(fā)現(xiàn)和修復(fù)?如何提高修復(fù)方法或許是使用工具?思考的是否深入,要看這個Bug影響和所花的時間有多長?

  發(fā)現(xiàn)和修復(fù)需要多久

  設(shè)置測試環(huán)境所需的時間,重現(xiàn)一個Bug或者修復(fù)可能遠遠超過在代碼中查找和修復(fù)的時間。但是對于那種小缺陷,在發(fā)現(xiàn)時即可修復(fù)。

  在軟件開發(fā)中,關(guān)于大多數(shù)軟件缺陷來自哪里?Dewayne Perry解釋到:發(fā)現(xiàn)一個Bug(理解并重現(xiàn)Bug)比多久去修復(fù)更難。研究發(fā)現(xiàn),大多數(shù)Bug(幾乎3/4)很容易被發(fā)現(xiàn)和理解,并且不會花多少時間去修復(fù):5天或更少(這是在大型實時系統(tǒng)與一個重量級的SDLC中,經(jīng)過大量檢查和測試發(fā)現(xiàn)的)。這里有一個長期隱藏型Bug,可能需要花更長的時間修復(fù),即使這個Bug微不足道:

發(fā)現(xiàn)/修復(fù)工作小于5天修復(fù)大于5天
缺陷可以重現(xiàn)72.5%18.4%
很難或者不能重現(xiàn)5.9%3.2%

  所以在你發(fā)現(xiàn)Bug的時候,可以和自己打賭,它很快就會被修復(fù),這個命中率會很高。但是當(dāng)打賭失敗時,你可能會錯很多,或者徹底來個大錯特錯。

it知識庫修復(fù)Bug好比釣魚,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 浮生影院免费观看中文版 | 五月婷婷在线播放 | 欧美日韩精品一区二区三区四区 | 精品久久久久久18免费网站 | 伊人操 | 国产成人精品免费视频大全最热 | 国产伦一区二区三区 | 久久久99精品免费观看 | 99久久免费精品视频 | 成人在线不卡 | 国产乱码精品1区2区3区 | 四虎成人免费视频 | 国产精品久久久久aaaa樱花 | 97av在线 | 亚洲国产精品va在线看黑人 | av在线免费观看网站 | 1级黄色大片 | 一区二区三区免费 | 国产精品日日做人人爱 | 中文字幕av第一页 | 久久爱黑人激情av摘花 | 四虎影院免费在线播放 | 岛国av免费观看 | 91在线电影 | 日韩欧美国产综合 | 欧美性大战xxxxx久久久 | 看片wwwwwwwwwww | 日韩在线不卡 | 日韩在线视频免费观看 | 久草免费在线 | 99这里只有精品 | 国产精品视频久久久久 | 久久免费精品 | 久久久噜噜噜久久中文字幕色伊伊 | 国产精品久久久久永久免费观看 | 亚洲永久| 久草网址| 北条麻妃99精品青青久久 | 亚洲免费在线观看 | 国产在线观看免费 | 午夜影院普通用户体验区 |