• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 319, comments - 22, trackbacks - 0, articles - 11
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            只要一個(gè)返回語(yǔ)句

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

            別再這樣寫了:

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

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

            請(qǐng)告訴我,把代碼寫成下面的樣子很難嗎?

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

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

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

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

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

            久久精品人人做人人妻人人玩| 91精品国产色综久久 | 久久精品国产WWW456C0M| 久久久久久毛片免费播放| 亚洲中文字幕无码久久综合网| 精品久久久久久无码不卡| 婷婷久久综合九色综合九七| 久久伊人色| 色青青草原桃花久久综合| 亚洲国产成人久久一区久久| 2021国内精品久久久久久影院| 国产69精品久久久久久人妻精品| 日本久久久久亚洲中字幕| 国产精品一区二区久久不卡| 精品一区二区久久| 久久av高潮av无码av喷吹| 久久激情五月丁香伊人| 久久久亚洲AV波多野结衣| 久久综合噜噜激激的五月天| 国产美女久久久| 久久免费大片| 狠狠色噜噜色狠狠狠综合久久| 国产精品久久久久9999高清| 久久人搡人人玩人妻精品首页| 久久久久青草线蕉综合超碰| 久久国产精品无码HDAV| 久久精品不卡| 国产成人久久精品激情| 人妻丰满?V无码久久不卡| 久久精品国产亚洲精品2020| 大香网伊人久久综合网2020| 伊人久久无码中文字幕| 岛国搬运www久久| 久久人爽人人爽人人片AV| 国产成人香蕉久久久久| 婷婷五月深深久久精品| 91久久九九无码成人网站| 久久永久免费人妻精品下载| 久久久精品久久久久久| 久久精品草草草| 久久综合88熟人妻|