<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      讓代碼重構(gòu)漸行漸遠(yuǎn)系列(3)——string.Equals取代直接比較與非比較

      重構(gòu)背景及原因

        最近由于項目組的人員在不斷擴(kuò)充,導(dǎo)致項目中代碼風(fēng)格各異,大有百花齊放甚至怒放之勢。考慮到團(tuán)隊的生存與發(fā)展,經(jīng)過眾人多次舌戰(zhàn)之后,最終決定項目組根據(jù)業(yè)務(wù)分成幾個小分隊,以加強(qiáng)團(tuán)隊管理與提高效率,同時也能培養(yǎng)階梯人才。各個小分隊為了“統(tǒng)一”代碼風(fēng)格,提高成員的代碼能力以便最終能提高項目代碼質(zhì)量,減少以后的維護(hù)成本,最終決定“每日”進(jìn)行小組內(nèi)的代碼走查/審查(Code Review),然后進(jìn)行代碼重構(gòu)。

       

      直接比較與非比較:我所謂的直接比較與非比較是指"=="判斷方式與"!="判斷方式,如以下代碼

       1  public static void 直接判斷()
       2         {
       3             Stopwatch timer = new Stopwatch();
       4             timer.Start();
       5 
       6             string str = "測試字符串";
       7             for (int i = 0; i < 10; i++)
       8             {
       9                 Stopwatch timer2 = new Stopwatch();
      10                 timer2.Start();
      11                 for (int j = 0; j < 10000000; j++)
      12                 {
      13                     if ("測試字符串" == str)
      14                     {
      15                     }
      16                 }
      17                 timer2.Stop();
      18                 Console.WriteLine("直接判斷第" + i + "次耗時:" + (timer2.ElapsedMilliseconds));
      19 
      20             }
      21             timer.Stop();
      22             Console.WriteLine("直接判斷平均耗時:" + (timer.ElapsedMilliseconds * 1.0 / 10));
      23 
      24         }
      25 
      26         public static void 非判斷()
      27         {
      28             Stopwatch timer = new Stopwatch();
      29             timer.Start();
      30 
      31             string str = "測試字符串";
      32             for (int i = 0; i < 10; i++)
      33             {
      34                 Stopwatch timer2 = new Stopwatch();
      35                 timer2.Start();
      36                 for (int j = 0; j < 10000000; j++)
      37                 {
      38                     if ("測試字符串" != str)
      39                     {
      40 
      41 
      42                     }
      43                 }
      44                 timer2.Stop();
      45                 Console.WriteLine("非判斷第" + i + "次耗時:" + (timer2.ElapsedMilliseconds));
      46 
      47             }
      48             timer.Stop();
      49             Console.WriteLine("非判斷平均耗時:" + (timer.ElapsedMilliseconds * 1.0 / 10));
      50 
      51         }

        看到這里時有的朋友會說這有什么好說的呀,這又沒什么影響,效果不一樣么?那么我們看下以上代碼執(zhí)行結(jié)果吧,執(zhí)行結(jié)果如下圖:

        看到這張圖時,可能有些朋友就笑了說,這差別也“忒大了”吧,10000000次才相差2.6毫秒呀,這有意思么?還好意思在這兒寫。只是我覺得既然有性能上的差異的話,我們?yōu)槭裁床挥煤玫哪囊粋€呢?

        在此感謝園友“小彬”指出string.Equals的性能更好,然后經(jīng)過我的測試,測試結(jié)果如下:

      耗時情況: string.Equals< == <  !=

      總結(jié):在做字符串比較判斷是優(yōu)先考慮  string.Equals 。

       

        還是那句話,如果我們在寫代碼的時候就考慮到了這些我們還需要再花時間做此種重構(gòu)么?代碼重構(gòu)怎能不漸行漸遠(yuǎn)呢?

       

      以下是系列文章鏈接:

      讓代碼重構(gòu)漸行漸遠(yuǎn)系列(1)——解除多層嵌套

      讓代碼重構(gòu)漸行漸遠(yuǎn)系列(2)——降低代碼重復(fù)度 

      讓代碼重構(gòu)漸行漸遠(yuǎn)系列(3)——string.Equals取代直接比較與非比較

       

      posted @ 2014-10-27 20:54  風(fēng)隨月影飄  閱讀(887)  評論(9)    收藏  舉報
      主站蜘蛛池模板: 91精品午夜福利在线观看| 少妇人妻偷人精品视频| 国产一区二区不卡91| av色蜜桃一区二区三区| 色婷婷综合久久久久中文字幕| 久久精品国产99久久久古代| 国内在线视频一区二区三区| 玩弄漂亮少妇高潮白浆| 阿坝| 77777五月色婷婷丁香视频| 免费无码黄十八禁网站| 日韩高清国产中文字幕| 亚洲高潮喷水无码AV电影| 亚洲精品漫画一二三区| 皮山县| 国产精品无码不卡在线播放| 亚洲熟女国产熟女二区三区 | 成人午夜免费无码视频在线观看| 四虎国产精品久久免费地址| 亚洲性一交一乱一伦视频| 激情97综合亚洲色婷婷五| av小次郎网站| 午夜综合网| 国产亚洲精品AA片在线爽| 人妻少妇久久中文字幕| 男女xx00xx的视频免费观看| 日韩高清在线亚洲专区国产| 亚洲国产99精品国自产拍| 深夜福利资源在线观看| 一日本道伊人久久综合影| 亚洲国产无套无码av电影| 韩国青草无码自慰直播专区| 国语精品自产拍在线观看网站| 亚洲欧洲日产国产 最新| 伊人无码精品久久一区二区| 亚洲V天堂V手机在线| 国产精品视频一区二区噜| 日韩精品成人网页视频在线| 人妻人人澡人人添人人爽人人玩| 国产精品一区二区三区性色 | 少妇人妻真实偷人精品|