歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> MyEclipse 編寫Java代碼提示 dead code 原因

MyEclipse 編寫Java代碼提示 dead code 原因

日期:2017/3/1 9:42:37   编辑:Linux編程

經常使用MyEclipse或Eclipse編輯器編寫java代碼的程序員,可能經常遇到一個黃線警告提示:dead code;一般程序員遇到這些問題都會置之不理,反正也不影響程序的編譯執行。對,這不是bug,只是一個提示,對於一個有強迫症的程序員來說,他非要代碼一點問題都沒有,包括黃線警告都要消滅掉,這裡簡單說下dead code 即死代碼、無作用的代碼提示的原因和解決方法。

顧名思義,死代碼,即你編寫的那一行是無效代碼,可有可無,說白了就是一行廢話;這是你就要看一下這一行的處理邏輯是什麼,可能是多余判斷或者其他多余代碼;比如如下情況:

1.情況一:沒用的條件判斷,就是你判斷的這個條件永遠為真

if (true & true) {
System.out.println("execute ok");
} else {
System.out.println("execute fail");
}

從else開始即為無作用。

因為true&true在編繹時即知結果,所以else部分是無用的,編譯器知道肯定不會執行的代碼。

換成:

boolean a = true;
boolean b = true;
if (a & b) {
System.out.println("execute ok");
} else {
System.out.println("execute fail");
}

則不會出現該問題,因為在編譯時編譯器不確定a & b是否恆成立。

2.情況二:多余的判斷,就是你判斷的這個對象永遠不為空;其實類似於情況一

TimeLineEventModel dataModel = new TimeLineEventModel();

if(dataModel !=null){

執行一些操作.....

}

這裡的判斷也是多余,因為你已經new了這個對象,那這個對象就不會為空

未完待續,可能還有其他一些情況的死代碼,等到時候編碼遇見了再進行補充吧!目前來看,dead code提示一般出現在if或其他判斷的條件上。

Ubuntu 12.10中MyEclipse 10.6+下載+安裝+破解 http://www.linuxidc.com/Linux/2013-06/86102.htm

安裝MyEclipse10.0 Linux+破解 http://www.linuxidc.com/Linux/2013-04/82212.htm

MyEclipse中配置JDK環境變量 http://www.linuxidc.com/Linux/2013-02/80017.htm

Ubuntu下安裝MyEclipse10和MySQL全程圖解 http://www.linuxidc.com/Linux/2013-01/77869.htm

MyEclipse10 開發 SSH2(Struts2.1+Spring+Hibernate) http://www.linuxidc.com/Linux/2012-07/64859.htm

Ubuntu 13.04 配置MyEclipes 10.7環境 http://www.linuxidc.com/Linux/2014-05/101751.htm

Copyright © Linux教程網 All Rights Reserved