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)試類型的詳細信息。
正如好的編程技能涉及很多設(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)試類型的詳細信息。