如何診斷與調(diào)試Java代碼中的Bug?

字號:

BUG 模式與 Java 診斷
    正如好的編程技能涉及很多設(shè)計模式(您可以在不同的程序上下文中組合和應(yīng)用這些模式)的知識一樣,好的代碼診斷和 Bug 調(diào)試技能也涉及對錯誤模式的一定了解。錯誤模式就是已發(fā)生的錯誤和程序中潛在的錯誤之間的重復(fù)出現(xiàn)的相互關(guān)系。很多錯誤都遵循我們可以識別的幾種錯誤模式的其中一種。一旦您可以識別出這些錯誤模式,您就可以診斷出錯誤的原因并且更快地糾正它。錯誤模式與反模式有關(guān),反模式是一次又一次被證明是失敗的公共軟件設(shè)計的模式。雖然反模式是設(shè)計模式,錯誤模式卻是與編程錯誤相關(guān)的錯誤的程序行為的模式。這與設(shè)計根本沒有關(guān)系,而是與編程和調(diào)試過程有關(guān)。
    了解各種具體的錯誤模式以及如何診斷和糾正 Java 程序中反復(fù)出現(xiàn)的錯誤類型,請參閱 Eric Allen 的系列專欄:
    診斷 Java 代碼 。
    在此專欄中,Eric Allen 針對各種錯誤模式進行了一些具體的討論:
    錯誤模式簡介
    Dangling Composite 錯誤模式
    Null Flag 錯誤模式
    Double Descent 錯誤模式
    Liar View 錯誤模式
    Saboteur Data 錯誤模式
    Broken Dispatch 錯誤模式
    Imposter Type 錯誤模式
    Split Cleaner 錯誤模式
    Fictitious Implementation 錯誤模式,第 1 部分
    Fictitious Implementation 錯誤模式,第 2 部分
    孤線程(Orphaned Thread)錯誤模式
    連續(xù)初始化器錯誤模式
    將時態(tài)邏輯用于錯誤模式
    另外,他還討論了許多其它關(guān)于 Java 代碼診斷的主題:
    設(shè)計可測試的應(yīng)用程序
    設(shè)計可擴展的應(yīng)用程序
    設(shè)計可輕松維護的代碼
    “殺手組合”— mixin、Jam 和單元測試
    Java 調(diào)試
    即使是級的開發(fā)人員所開發(fā)的最簡單的應(yīng)用程序也可能包含錯誤。如果要成為好的調(diào)試人員,不必象大偵探那樣調(diào)查蛛絲馬跡。您只需了解概念并熟悉正確的工具。
    “教程:Java 調(diào)試”提供了關(guān)于基本 Java 調(diào)試概念和更高級調(diào)試類型的詳細信息。