1. 程式人生 > >盤點Java程式設計師規避bug五種的方式, 你掌握了哪幾種!

盤點Java程式設計師規避bug五種的方式, 你掌握了哪幾種!

Java程式語言的人氣自然無需質疑,從Web應用到Android應用,這款語言已經被廣泛用於開發各類應用及程式碼中的複雜功能。

在編寫程式碼時,bug永遠是困擾每一位從業者的頭號難題。本文我們將分享五項java程式設計基本元原則幫助大家儘可能減少程式碼中的bug。

原則一:不要依賴初始化

在Java中,開發者常常依賴建構函式進行物件初始化。我們完全可以在無需呼叫建構函式的情況下,通過多種方式實現物件分配。

下面來看幾種常用方式:

(1) 大家可以將所有變數宣告為私有。要訪問該類外的物件,大家可使用GET與SET方法。

(2) 對每個物件,編寫一個新的私有boolean變數並對其進行初始化。

(3)編寫一個非建構函式類,其將確保每個物件會在接受呼叫之前進行初始化。

原則二:保護類、方法與變數

在程式碼當中,類、方法與變數分為私有與公共兩類。私有類無法輕鬆進行訪問,公共方法與變數則易於方法,也因此常常成為攻擊突破口。因此,請儘可能限制其範圍。

原則三:永遠對範圍進行預定義

大多數開發者完全依賴於軟體包自身的範圍設定,事實上我們應當堅持對程式碼範圍進行預定義。很多類本身並非完全封閉,這意味著攻擊者能夠對其施以攻擊。黑客可以利用單一漏洞插入自己的類,進而從程式碼中提取敏感資訊。JVM在預設情況下即不會封閉,不過允許大家在該軟體包內進行類封閉。

原則四:避免使用內部類

一般來講,開發者會在同一軟體包內其它類需要時使用內部類。這些內部類通常可供同一軟體包內全部類進行訪問。

原則五:確保類不可克隆

Java提供一項功能,用於在需要時對自有類進行克隆。然而這項功能往往被黑客所利用,從程式碼中複製程式碼例項並竊取必要資訊。

要解決這個問題,大家只需要在程式碼中的每個類中新增以下程式碼。

public final void clonethrows

java.lang.CloneNotSupportedException {

thrownewjava.lang.CloneNotSupportedException;

}

如果大家希望自己的class具備可克隆性,同時仍然儘可能避免安全問題,那麼則可自行定義克隆方法,並將其設定為final。