• <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++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            只要一個返回語句

            Posted on 2011-05-04 07:21 RTY 閱讀(254) 評論(0)  編輯 收藏 引用 所屬分類: 編程常識轉載隨筆

            只要一個返回語句

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

            別再這樣寫了:

            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里的方法只可以返回一個值,相應的,一個方法應該有且只有一個返回語句。

            久久久久国产视频电影| 嫩草伊人久久精品少妇AV| 亚洲日本va午夜中文字幕久久 | 久久精品国产影库免费看 | 色综合久久88色综合天天 | 久久99热精品| 久久99精品国产99久久| 久久久久久久波多野结衣高潮| 久久久久亚洲AV无码永不| 久久高清一级毛片| 99久久精品免费看国产| 精品综合久久久久久97| 久久狠狠一本精品综合网| 久久亚洲欧美国产精品| 亚洲国产成人久久一区久久| 欧美亚洲另类久久综合| 91精品国产9l久久久久| 久久久久久久久久久| 久久青青草原亚洲av无码| 久久久综合九色合综国产| 婷婷综合久久中文字幕蜜桃三电影| 久久久久99精品成人片牛牛影视| 韩国无遮挡三级久久| 久久精品麻豆日日躁夜夜躁| 久久精品久久久久观看99水蜜桃| 亚洲七七久久精品中文国产| 久久久WWW免费人成精品| 久久最近最新中文字幕大全| 国产精品无码久久综合| 久久精品午夜一区二区福利| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 精品欧美一区二区三区久久久| 久久99精品久久久久久久不卡 | 亚洲第一极品精品无码久久| 7777精品伊人久久久大香线蕉| 一级女性全黄久久生活片免费| 久久精品国产亚洲Aⅴ蜜臀色欲| 久久国产精品无码网站| 久久午夜综合久久| 久久久久久久久久久| 少妇精品久久久一区二区三区|