if (true){
return true;
} else {
return false;
}
}  每次當(dāng)我深入某個開源項目,看到大概 " /> 欧美亚洲韩日午夜,亚洲精品国产第一区第二区,丰满少妇69激情啪啪无码

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

只要一個返回語句

  本文是從 A return to Good Code 這篇文章翻譯而來。

  別再這樣寫了:

public boolean foo(){
 if (true){
   return true;  
 } else { 
 return false;  
 }
}

  每次當(dāng)我深入某個開源項目,看到大概是某個專家寫的、并被有經(jīng)驗的專業(yè)人士審查過的這樣的代碼,我都會驚訝不已,竟然沒有人去阻止這個開發(fā)者在這個方法里胡亂的放置返回語句。

  請告訴我,把代碼寫成下面的樣子很難嗎?

public boolean foo(){ 
 boolean flag = true;  
 if (true){ 
   flag=true;
 } 
 else {
   flag=false;
 }
 return flag;
}

  這是Java基本常識。實際上,這不僅是Java基本常識,這是小學(xué)水平的Java知識。如果你的方法返回一個值,你應(yīng)該在方法的開始處把它聲明做一個變量。然后再去做一些賦予這個變量正確意義的操作。然后,在你的最后一行,把這個變量返回給調(diào)用程序。這樣做不僅僅是為寫出好的代碼,這是一種有教養(yǎng)的表現(xiàn)。

  你是否曾試圖修改過一些在方法里到處都是返回語句的程序代碼?無從下手。事實上,去維護(hù)這樣的代碼,你第一要做的是重新組織它的結(jié)構(gòu),讓它里面不再有一大堆的返回語句。這樣才能把事情做好。沒有任何一個方法是不可以寫成只在末尾處有一個的、單一的、易于找到的返回語句的形式的。

  的確,爛程序員總有一萬個理由來說明他們?yōu)槭裁淳帉懗鲞@樣糟糕的程序代碼。“我只是為了避免在返回時一堆的多余的條件判斷語句。”那好,首先,我告訴你,計算機(jī)中執(zhí)行一些條件判斷語句時是該死的快,你用短路一個方法來節(jié)省CPU的一兩個指令操作不是顯的太荒誕了嗎。此外,如果這些所謂多余的條件判斷語句最終沒有派上用場的話,這是否是一個有用的信號來說明你的“多余”的代碼可能需要重寫,也許可以把它們重構(gòu)成另外一個方法,讓它們顯的不多余?

  關(guān)鍵要說的是,沒有任何理由可以為寫糟糕的代碼或當(dāng)懶惰的程序員做托辭,特別是當(dāng)寫出好的代碼并不是那么困難的情況下。不要在寫出里面有成百上千個返回語句的方法了。Java里的方法只可以返回一個值,相應(yīng)的,一個方法應(yīng)該有且只有一個返回語句。

it知識庫只要一個返回語句,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 97人妻久久久精品系列A片 | A级毛片无码久久精品免费 a级毛片黄免费a级毛片 | 午夜福利小视频400 午夜福利网国产A | 99E久热只有精品8在线直播 | 亚洲一卡二卡三卡四卡无卡麻豆 | 亚洲欧美自拍清纯中文字幕 | 精品免费久久久久久成人影院 | 亚洲综合色五月久久婷婷 | 色综合99久久久国产AV | 欧美 亚洲 日韩 在线综合 | 妹妹成人网 | 色欲午夜无码久久久久久 | 久久精品国产亚洲AV麻豆欧美玲 | 国产成人精品视频播放 | 一个人的视频全免费在线观看www | 色婷婷综合激情中文在线 | 午夜视频在线观看国产 | 国产一区二区三区内射高清 | 性美国人xxxxx18 | xxxxxx日本处大片免费看 | 青青精品国产自在线拍 | 欧美区一区二 | 男人的天堂黄色片 | 中文文字幕文字幕亚洲色 | 青青久久国产 | 国产精品青草久久福利不卡 | 打卡中国各地奋斗第一线 | 亚洲精品中文字幕无码A片蜜桃 | 超碰人人草在线视频 | 亚洲精品一二三 | 香蕉久久一区二区三区啪啪 | 亚洲AV國產国产久青草 | 男女无遮挡吃奶gift动态图 | 免费看美女的网站 | 素人约啪第五季 | 久久久久久久伊人电影 | 岳扒开让我添 | 毛片手机在线看 | 亚洲乱码国产一区三区 | 国产成人免费高清在线观看 | 色戒未删减版在线观看完整 |