程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 通過return的使用養成好的編程習慣

通過return的使用養成好的編程習慣

編輯:PHP綜合

編寫程序不僅僅是技術,更是藝術,好的代碼有更好的可讀性,執行起來效率也會更高,本文就通過return的使用告訴你如何養成好的編程習慣

別再這樣寫了:
public boolean foo() {
if (true) {
return true;
} else {
return false;
}
}
每次當我深入某個開源項目,看到大概是某個專家寫的、並被有經驗的專業人士審查過的這樣的代碼,我都會驚訝不已,竟然沒有人去阻止這個開發者在這個方法裡胡亂的放置返回語句。
請告訴我,把代碼寫成下面的樣子很難嗎?
public boolean foo() {
boolean flag = true;
if (true) {
flag=true;
}
else {
flag=false;
}
return flag;
}
這是Java基本常識。實際上,這不僅是Java基本常識,這是小學水平的Java知識。如果你的方法返回一個值,你應該在方法的開始處把它聲明做一個變量。然後再去做一些賦予這個變量正確意義的操作。然後,在你的最後一行,把這個變量返回給調用程序。這樣做不僅僅是為寫出好的代碼,這是一種有教養的表現。
你是否曾試圖修改過一些在方法裡到處都是返回語句的程序代碼?無從下手。事實上,去維護這樣的代碼,你第一要做的是重新組織它的結構,讓它裡面不再有一大堆的返回語句。這樣才能把事情做好。沒有任何一個方法是不可以寫成只在末尾處有一個的、單一的、易於找到的返回語句的形式的。
的確,爛程序員總有一萬個理由來說明他們為什麼編寫出這樣糟糕的程序代碼。“我只是為了避免在返回時一堆的多余的條件判斷語句。”那好,首先,我告訴你, 計算機中執行一些條件判斷語句時是該死的快,你用短路一個方法來節省CPU的一兩個指令操作不是顯的太荒誕了嗎。此外,如果這些所謂多余的條件判斷語句最終沒有派上用場的話,這是否是一個有用的信號來說明你的“多余”的代碼可能需要重寫,也許可以把它們重構成另外一個方法,讓它們顯的不多余?
關鍵要說的是,沒有任何理由可以為寫糟糕的代碼或當懶惰的程序員做托辭,特別是當寫出好的代碼並不是那麼困難的情況下。不要在寫出裡面有成百上千個返回語句的方法了。Java裡的方法只可以返回一個值,相應的,一個方法應該有且只有一個返回語句。 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved