myeclipse 編寫java代碼提示 dead code 原因

來源:互聯網
上載者:User

      經常使用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或其他判斷的條件上。



轉載請指明:http://blog.csdn.net/yangkai_hudong

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.