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