激情五月天婷婷,亚洲愉拍一区二区三区,日韩视频一区,a√天堂中文官网8

<ul id="buwfs"><strike id="buwfs"><strong id="buwfs"></strong></strike></ul>
    <output id="buwfs"></output>
  • <dfn id="buwfs"><source id="buwfs"></source></dfn>
      <dfn id="buwfs"><td id="buwfs"></td></dfn>
      <div id="buwfs"><small id="buwfs"></small></div>
      <dfn id="buwfs"><source id="buwfs"></source></dfn>
      1. <dfn id="buwfs"><td id="buwfs"></td></dfn>
        億恩科技有限公司旗下門戶資訊平臺!
        服務(wù)器租用 4元建網(wǎng)站

        修復(fù)bug的12個(gè)關(guān)鍵步驟

        很多bug都只需改動某一行代碼即可。但是需要投入大量時(shí)間的是,后面還得指出怎么樣才是正確的——就像我們在釣魚的時(shí)候,得知道往哪里下誘餌,什么時(shí)候魚兒容易上鉤等等。

        boss:那么,你需要多長時(shí)間來修復(fù)這個(gè) bug?

        沒有經(jīng)驗(yàn)的程序員:給我一個(gè)小時(shí)?最多兩個(gè)小時(shí)?我能馬上搞定它!

        有經(jīng)驗(yàn)的程序員:這么說吧,釣到一條魚要多久我就要多久?!

        要多少時(shí)間才能修復(fù)bug,事先是很難知道的,特別是如果你和這些代碼還素不相識的話,情況就更加撲朔迷離了。要想修復(fù)問題得先知道問題的所在,而我們之所以無法準(zhǔn)確估計(jì)時(shí)間是因?yàn)槲覀儾恢佬枰嗑貌拍馨l(fā)現(xiàn)癥結(jié)的所在,只有清楚這一點(diǎn),我們才能合理估計(jì)修復(fù) bug 所需要花費(fèi)的時(shí)間。不過,這個(gè)時(shí)候恐怕黃花菜都涼了。

        Steve McConnell 曾說過:“發(fā)現(xiàn)問題—理解問題—這就是程序員90%的工作?!?span style="line-height:1.5;">很多bug都只需改動某一行代碼即可。但是需要投入大量時(shí)間的是,后面還得指出怎么樣才是正確的——就像我們在釣魚的時(shí)候,得知道往哪里下誘餌,什么時(shí)候魚兒容易上鉤等等。

        話說bug有四種類型:第一種易尋易修復(fù),第二種難尋易修復(fù),第三種易尋難修復(fù),第四種難尋難修復(fù)。最悲劇的就是最后一型的,不但“尋尋覓覓,凄凄涼涼戚戚”,哪怕終于千辛萬苦滴水穿石,也只能在那邊不由自主地抓耳撓腮,無奈嘆一句“路漫漫其修遠(yuǎn)兮”??梢赃@么說,除非是新鮮出爐的代碼,不然讓你找bug就跟瞎子摸象一樣——糊里糊涂,不知道歸屬于哪種bug類型。

        查找和修復(fù) bug

        你知道“查找和修復(fù) bug”意味著什么嗎?沒錯(cuò),就是調(diào)試!不斷的調(diào)試,無數(shù)次的調(diào)試!Paul Butcher 通過大量工作,總結(jié)出以下結(jié)構(gòu)化的步驟:

        1. 明確目的。仔細(xì)查閱異常報(bào)告,確定是否是個(gè) bug,找出各種有用的信息發(fā)現(xiàn)問題的癥結(jié),予以重現(xiàn)。再次檢查是否與報(bào)告發(fā)生重復(fù)。如果發(fā)生重復(fù),那看看曾經(jīng)的相關(guān)人員是如何處理的。

        2. 準(zhǔn)備工作——找出正確的代碼,用排除法清理工作區(qū)域。

        3. 匹配測試環(huán)境。如果客戶正在操作計(jì)算機(jī)配置,那么此過程可以跳躍。

        4. 明確代碼的用途,確保現(xiàn)有測試工具一切正常。

        5. 好了,現(xiàn)在可以出發(fā)釣魚去咯——重現(xiàn)和診斷錯(cuò)誤。如果你不能做到重現(xiàn),那你就不能證明你已經(jīng)完成修復(fù)工作。

        6. 編寫測試案例,或者通過現(xiàn)成的測試案例來捕獲 bug。

        7. 進(jìn)入修復(fù)模式——請務(wù)必確保不會影響到其他任何部分。但是,在開展修復(fù)工作之前,可能你還要包攬重構(gòu)工作,因?yàn)橹挥羞@樣,你才能無所顧忌地?fù)v鼓代碼。而且事后回歸測試,還能確保你不會加入任何新的 bug。

        8. 整理代碼。通過一步一步重構(gòu),讓你的代碼更易于理解,更安全。

        9. 找別人來審查一下,當(dāng)局者迷旁觀者清。

        10. 再次檢查此修復(fù)過程。

        11. 試著不從主線出發(fā),以檢查這些 bug 是否會影響其他支線。合并這些變化,處理代碼中的差異,回顧所有的審查和測試等工作。

        12. 思考。好好想一想哪里錯(cuò)了以及為什么錯(cuò)了?為什么你的修復(fù)會起效?這種類型的 bug 還會出現(xiàn)在哪里?如果一個(gè) bug 需要耗費(fèi)你很多時(shí)間,那么一定要好好弄清楚原因。此外,還需要思考的是,怎么做才能吸取經(jīng)驗(yàn)教訓(xùn),將來在類似的問題上不再栽跟頭?以及,我們采用的方法、使用的工具是否還有可以改進(jìn)的地方?以及這些 bug 的影響和嚴(yán)重程度。

        找到 bug,還是修復(fù) bug,哪個(gè)需要更多時(shí)間?

        或許建立一個(gè)測試環(huán)境、重現(xiàn)問題和測試 bug 所需的時(shí)間,要遠(yuǎn)遠(yuǎn)多于找到 bug 和修復(fù) bug 的時(shí)間。不過對于一小部分顯而易見的 bug,找到它們很簡單——不過修復(fù)起來可能就不盡如人意了。

        大部分的軟件漏洞的來源在哪里?分析師認(rèn)為,相較于修復(fù),發(fā)現(xiàn) bug(包括理解 bug 和重現(xiàn) bug)所需時(shí)間更長。有研究表明,大多數(shù)的 bug(差不多有3/4)既易于發(fā)現(xiàn)又易于修復(fù):5天或許更少(這是基于大規(guī)模實(shí)時(shí)系統(tǒng)通過重量級 SDLC、大量審查和測試得出的數(shù)據(jù))。但是也有很惡心的bug,即便你可以輕輕松松揪到它,還是還得“嘔心瀝血”才能修復(fù)好。

        修復(fù)bug的12個(gè)關(guān)鍵步驟

        所以如果你打賭說你能很快修復(fù)bug,大多數(shù)情況下你還真沒說錯(cuò)。不過當(dāng)你打賭輸了的時(shí)候,那么,嘿嘿,就意味著你有煩惱了。所以,下次,boss再問什么時(shí)候能修復(fù)bug,別再傻乎乎地回答“馬上就能搞定”了。

        河南億恩科技股份有限公司(mszdt.com)始創(chuàng)于2000年,專注服務(wù)器托管租用,是國家工信部認(rèn)定的綜合電信服務(wù)運(yùn)營商。億恩為近五十萬的用戶提供服務(wù)器托管、服務(wù)器租用、機(jī)柜租用、云服務(wù)器、網(wǎng)站建設(shè)、網(wǎng)站托管等網(wǎng)絡(luò)基礎(chǔ)服務(wù),另有網(wǎng)總管、名片俠網(wǎng)絡(luò)推廣服務(wù),使得客戶不斷的獲得更大的收益。
        服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
        虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-55621053
        網(wǎng)絡(luò)版權(quán)侵權(quán)舉報(bào)電話:0371-60135995
        服務(wù)熱線:0371-60135900

        標(biāo)簽 bug
        3
        0
        分享到:責(zé)任編輯:小柳

        相關(guān)推介

        共有:0條評論網(wǎng)友評論:

        驗(yàn)證碼 看不清換一張 換一張

        親,還沒評論呢!速度搶沙發(fā)吧!