更新時間:2017-04-27 17:08:24 來源:動力節點 瀏覽5170次
Java編程語言在IT行業毋庸置疑是企業中不可缺少的,從Web應用到Android應用,這款語言已經被廣泛用于開發各類應用及代碼中的復雜功能。
不過在編寫代碼時,bug永遠是困擾每一位從業者的頭號難題。在今天的文章中,我們將分享五項最佳實踐,希望幫助大家更為輕松地減少Java開發中的bug數量。
不要依賴初始化
在Java中,開發者常常依賴構造函數進行對象初始化。不過這其實是一種常見誤區。我們完全可以在無需調用構造函數的情況下,通過多種方式實現對象分配。
下面來看幾種常用方式:
大家可以將所有變量聲明為私有。要訪問該類外的對象,大家可使用GET與SET方法。
對每個對象,編寫一個新的私有boolean變量并對其進行初始化。
編寫一個非構造函數類,其將確保每個對象會在接受調用之前進行初始化。
避免使用內部類
一般來講,開發者會在同一軟件包內其它類需要時使用內部類。這些內部類通常可供同一軟件包內全部類進行訪問,由此可能引發的問題在預定義代碼范圍部分已經提到。因此,同樣請僅在必要時使用內部類。
保護類、方法與變量
在代碼當中,類、方法與變量分為私有與公共兩類。私有類無法輕松進行訪問,這使其成為代碼中的高安全性點。不過公共方法與變量則易于方法,也因此常常成為攻擊突破口。因此,請盡可能限制其范圍。
請記住,只在必要時開放類、方法與變量。
永遠對范圍進行預定義
大多數開發者完全依賴于軟件包自身的范圍設定,事實上我們應當堅持對代碼范圍進行預定義。很多類本身并非完全封閉,這意味著攻擊者能夠對其施以攻擊。黑客可以利用單一漏洞插入自己的類,進而從代碼中提取敏感信息。JVM在默認情況下即不會封閉,不過允許大家在該軟件包內進行類封閉。
確保類不可克隆
Java編程提供一項功能,用于在需要時對自有類進行克隆。然而這項功能往往被黑客所利用,其能夠使用Java.lang.Cloneable從代碼中復制代碼實例并竊取必要信息。
要解決這個問題,大家只需要在代碼中的每個類中添加以下代碼。
publicfinalvoidclonethrowsJava.lang.CloneNotSupportedException{thrownewJava.lang.CloneNotSupportedException;}
如果大家希望自己的class具備可克隆性,同時仍然盡可能避免安全問題,那么則可自行定義克隆方法,并將其設置為final。
如果大家在自己的某個超類中使用了nonfinal克隆方法,則請按以下方式定義該方法:
publicfinalvoidclonethrowsJava.lang.CloneNotSupportedException{super.clone;}
當然,沒人能100%掌握Java的全部奧秘,但上述編程原則及實踐,能夠幫助大家更為有效地降低代碼內bug數量,想要知道更多相關內容關注“動力節點Java學院”微信公眾號獲取,想加入Java開發行業,現在動力節點Java遠程基礎班免費贈送學習名額,對于想學Java的同學無疑是好消息,機會就在眼前,快來報名吧,名額有限,先到先得。
相關閱讀
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習