程序調(diào)試的三兩事

談起程序調(diào)試這件事情。調(diào)試是確定錯誤原因并糾正此錯誤的過程,跟測試不同,測試是檢測錯誤的過程,在一些項目中,調(diào)試可能占到整個開發(fā)周期的50%。說到錯誤,那肯定離不開“bug”這個詞,已故的海軍少將Grace Hopper,COBOL的發(fā)明者之一,堅信“bug”一詞可以追溯到第一臺大型數(shù)字計算機,即Mark I,程序員在一次解決電路故障的時候看到一只大飛蛾,并發(fā)現(xiàn)這只飛蛾飛到了計算機里面,從此計算機故障就被歸咎于“bug/蟲子”了。

為什么要說調(diào)試這件事,看似簡單,每個程序員都會做的一件事情,但是能不能做好就是另外一回事了。一項研究表明,針對同樣一組缺陷,經(jīng)驗豐富的程序員找出缺陷所用的時間大約只是缺乏經(jīng)驗的程序員們的1/20。

通過調(diào)試,我們可以找出代碼缺陷所在,代碼里面有缺陷意味著什么,如果你希望代碼里面一個缺陷都沒有,那意味著你還沒有完全理解程序的功能,我們可以從代碼中出現(xiàn)的bug得到以下這些好處:

1.理解你正在編寫的程序

2.明確你犯了哪種類型的錯誤

3.從代碼閱讀者的角度分析代碼質(zhì)量

4.審視自己解決問題的方法

5.審視自己修正缺陷的方法

常見的低效率的調(diào)試方法:

1.憑猜測找出缺陷

2.不要把時間浪費在理解問題上

在運用科學的調(diào)試方法時,會經(jīng)歷下面這些過程:

1.通過可重復的試驗收集數(shù)據(jù)

2.根據(jù)相關數(shù)據(jù)的統(tǒng)計構造一個假說

3.設計一個實驗來證明或者反正這個假說

4.根據(jù)需要重復進行上面的步驟

尋找缺陷的有效方法:

1.將錯誤狀態(tài)穩(wěn)定下來

2.確定錯誤的來源

3.修補缺陷

4.對所修補的地方進行測試

5.查找是否還有類似的錯誤

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容