精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

用好C#中的#region指令 實現良好的代碼組織

開發 后端
在這里我們將介紹的是C#中的#region指令,用好該指令可以一些有關聯的代碼組織在一起,然后折疊起來。這樣你就在一個函數中看不到很長很長的代碼段。

這篇文章我將不會去介紹如何使用#region指令。因為每個C#開發人員都應該見過和使用過#region指令的。這篇文章將討論如何在代碼中正確的使用它。使用#region就是將一些有關聯的代碼組織在一起,然后折疊起來。這樣你就在一個函數中看不到很長很長的代碼段。例如:

  1. public void DoSomething()  
  2. {    
  3. bool shouldIDoSomething;     
  4. #region Decide if I should do something   
  5. if(needToDoSomething && haventDoneSomethingThisDay)  
  6. shouldIDoSomething = true;   
  7.  else    
  8. {  
  9. // do some other logic to decide and 
  10. set shouldIDoSomething to some value  
  11.   }    
  12. #endregion     
  13. if(shouldIDoSomething)    
  14. {done++;  }} 

當然這段代碼很簡單。在實際項目中,你可能看到上百行甚至更多的代碼在一個#region中。如果把它折疊起來。看起來就會很整潔。是吧?

  1. public void DoSomething()  
  2. {    
  3. bool shouldIDoSomething;     
  4. [Decide if I should do something]     
  5. if(shouldIDoSomething)    
  6. {done++;    
  7. }} 

我們只是把一些代碼和一些變量組合起來放在#region中。如果你在仔細想想,其實我們相當與創建了一個新的函數,只是將這些方法內置到當前方法中。一個函數只做單一的一件事情,這是Clean Code這本書的一個原則。為什么我們不把它提取為一個方法呢,這樣一來,一個函數就只做一件事情了。

  1. public void DoSomething(){    
  2. if(ShouldIDoSomething())   
  3.  {done++;  }}   
  4. private bool ShouldIDoSomething(){    
  5. if(needToDoSomething && haventDoneSomethingThisDay)  
  6. shouldIDoSomething = true;    
  7. else   
  8.  {  
  9. // do some other logic to decide   
  10. and set shouldIDoSomething to some value  }} 

這樣看起來就清楚很多,因為我們降低了之前的DoSomething函數的復雜度。兩個函數可以分開測試,確保沒有邏輯錯誤。
小段總結1:  #region 不適合在大方法中使用,當你在一個方法中使用#region 的時候,停下來想想你剛剛寫了什么代碼?大多數時候,你可以將這些代碼段獨立成一個函數。

看看下面這段非常漂亮的代碼:

  1. #region Get Customer   
  2. public void GetCustomer(){    
  3. // code to get the customer}   
  4. #endregion   
  5. #region Save Customer   
  6. public void SaveCustomer(){    
  7. // code to save the customer}   
  8. #endregion 

將它折疊之后,變成下面這樣:

  1. [Get Customer] [Save Customer] 

這樣做很容易閱讀嗎?這樣做的目的是什么,我不明白?代碼折疊就會變得更好?我覺得這樣做只會讓代碼更難以閱讀,因為你每次要看region中的代碼,你都要展開一次。

小段總結2:不要因為你能,你就使用#region 。

再看下面這個例子

  1. public class PriceCalculator{    
  2. public decimal CalculatePrice()    
  3. {decimal price = 100m;decimal discount = CalculateDiscount();  
  4. return price * (1m - discount));   
  5.  }     
  6. #region Discount Calculation     
  7. private void CalculateDiscount()    
  8. {decimal discount = 0m;   
  9. if(CanApplyDiscount())    
  10. discount = 0.05m;   
  11. return discount;   
  12.  }     
  13. private void CanApplyDiscount()  {  
  14. // some logic, other method calls  }     
  15. // some other discount calculation methods  ...     
  16. #endregion} 

如果你將這個例子和本文中的***個例子做下比較,你可能會看到它們的共同點。他們是相同的,不過一個是在類中,一個是在函數中,層級不同而已。這里在提一個原則:單一職責原則,一個類應該只有一個職責。看上面的類,你可以很容易看出它有兩個職責:價格計算和折扣計算。折扣計算的方法被放到一個#region中。同樣,可以將它們提取出來做為一個新類。

小段總結3:可以將一組相關的函數提取到一個職責單一的新類中。

 那我們到底怎么使用 #region 呢。將東西用它來分組,它是非常有用的。在我寫的類中或多或少有幾個regions,用來對類中不同的結構進行分組。比如: fields, properties, methods, events, types等。如果你打開我寫的類文件,你會看到結構如下:

  1. public class SomeClass{  
  2. [Events]  
  3. [Fields]  
  4. [Properties]   
  5. [Methods]} 

總的來說:我將region看成能控制閱讀源代碼的復雜度的一種方式。因為你可以將一些相關的代碼放在一個區域(region)里面。但是,這不是隨便就創建的新的方法或者新類的借口。其實Region并不能消除復雜度,它只是在你閱讀代碼的時候,隱藏了部分代碼。你必須通過寫出小巧,清晰,重點突出的方法和類,才能控制代碼的復雜度。當你做到這些的時候,你甚至會發現region是不必要的。

原文標題:如何正確地使用#region指令

鏈接:http://www.cnblogs.com/zhuqil/archive/2010/09/07/about-region-preprocessor-directive.html

【編輯推薦】

 

  1. C#模式窗體中的按鈕操作
  2. C#模式窗體操作詳解
  3. C#窗體繼承原理以及實現淺析
  4. C#窗體關閉事件的重載實現淺析
  5. C#窗體位置與大小設置詳解

 

責任編輯:彭凡 來源: 博客園
相關推薦

2011-07-06 10:47:52

C#using

2024-12-20 09:48:47

C#Python代碼

2023-11-23 13:07:18

代碼Golang

2009-09-02 17:24:44

C#關機代碼

2009-08-18 13:35:06

C#枚舉文件

2009-05-26 16:33:48

PythonC#Run As

2021-09-13 07:00:01

C# .NET 緩存

2009-08-12 18:29:06

C#讀取TXT文件

2015-07-28 10:06:03

C#內部實現剖析

2009-08-12 14:10:37

asp.net分頁代碼

2024-07-22 14:34:20

簡單工廠模式C#

2009-08-19 15:38:59

C#代碼

2009-08-04 09:22:26

C#工廠模式

2009-08-03 16:35:30

C#日期比較

2009-03-12 13:49:30

DataTemplatWPFC#

2009-08-14 00:30:09

C#條件編譯指令

2009-09-01 18:29:10

C#繼承C#多態

2009-08-26 09:54:45

C#打印預覽C#打印

2009-05-13 11:50:17

C#多繼承接口

2020-07-15 14:51:39

代碼C+開發
點贊
收藏

51CTO技術棧公眾號

激情五月婷婷久久| 国产精品视频不卡| 五月天激情小说| rebdb初裸写真在线观看| 粉嫩aⅴ一区二区三区四区| 一区二区三区视频免费在线观看| 国产九九在线视频| 日本成人网址| 国产91在线观看丝袜| 久久久久久有精品国产| 黑人巨大精品欧美| 免费成人黄色网| 玉米视频成人免费看| 粉嫩av一区二区三区免费观看| 免费网站看av| 国产探花在线精品一区二区| 欧美日韩国产高清一区| 中文字幕一区综合| 天堂在线中文网| 蜜臀av一区二区三区| 久久九九国产精品怡红院| 51自拍视频在线观看| f2c人成在线观看免费视频| 久久这里只有精品首页| 国产综合在线观看视频| 亚洲国产精品免费在线观看| 偷拍亚洲精品| 91精品国产欧美日韩| 国产人妻777人伦精品hd| 国产在线视频网站| 久久99精品国产.久久久久| 欧美激情极品视频| 亚洲一二三精品| 91蝌蚪精品视频| 色噜噜狠狠成人网p站| 性生活免费观看视频| 青青操视频在线| 国产大陆a不卡| 国产精品∨欧美精品v日韩精品| 男人与禽猛交狂配| 红桃成人av在线播放| 亚洲精品720p| 88av在线播放| 我要色综合中文字幕| 91精品黄色片免费大全| 在线能看的av网站| 国产一区二区三区奇米久涩 | 亚洲444eee在线观看| 国产精品一区在线免费观看| 欧美尤物美女在线| 亚洲国产成人一区二区三区| 欧美极品一区| 黄色在线视频观看网站| 99精品黄色片免费大全| 国产一区免费在线观看| 欧日韩在线视频| 成人免费av资源| 国产伦视频一区二区三区| www黄色网址| 国产黄色精品网站| 风间由美久久久| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的| 国产不卡视频一区| 国产自产精品| 色资源在线观看| 久久亚洲精华国产精华液 | 久久在线电影| 俺去了亚洲欧美日韩| 少妇视频一区二区| 一区二区电影在线观看| 久久99久久99精品中文字幕| 久久久一二三区| 亚洲激情成人| 国产视频在线免费观看| 国内亚洲精品| 日韩视频在线免费观看| 国产精品白嫩初高中害羞小美女| 亚洲成a人无码| 欧美黄色影院| 亚洲欧美在线一区二区| 欧美巨胸大乳hitomi| 婷婷亚洲五月| 欧美福利小视频| 日韩av大片在线观看| 欧美a级一区二区| 成人黄色生活片| 可以免费观看的毛片| 91免费版在线| 宅男av一区二区三区| 天堂av资源在线观看| 午夜亚洲福利老司机| 国产a级片免费观看| av日韩一区| 亚洲加勒比久久88色综合| 阿v天堂2014| 中文无码久久精品| 国产91|九色| 中文av免费观看| 风间由美一区二区三区在线观看| 蜜桃av久久久亚洲精品| 国产在线观看免费麻豆| 亚洲午夜在线视频| www.精品在线| 台湾色综合娱乐中文网| 久久久91精品| 日日夜夜操视频| 国产精品1区2区| 成人免费在线视频网站| 99精品视频免费看| 久久午夜羞羞影院免费观看| 日本一区二区三区在线视频| 欧美三级电影一区二区三区| 天天做天天摸天天爽国产一区| 国产精品沙发午睡系列| 99亚洲男女激情在线观看| 国产小视频国产精品| 国产亚洲精品成人| 韩国三级中文字幕hd久久精品| 久99久视频| 在线观看男女av免费网址| 在线视频观看一区| 国产高清自拍视频| 亚洲无线视频| 99电影在线观看| 欧美激情午夜| 欧美亚日韩国产aⅴ精品中极品| 无码任你躁久久久久久老妇| 中文字幕av亚洲精品一部二部| 国产精品jizz在线观看麻豆| 三级在线观看网站| 亚洲综合区在线| 国产亚洲色婷婷久久| 日韩欧美网址| 国产精品免费一区| 国产一级二级三级在线观看| 粉嫩老牛aⅴ一区二区三区| 无码国产精品久久一区免费| 亚洲成人最新网站| 亚洲精品日韩av| 黄色一级大片在线免费看产| 欧美色视频在线观看| 久久久久久国产免费a片| 香蕉久久a毛片| 蜜桃导航-精品导航| 深夜福利视频一区二区| 亚洲激情成人网| 日本少妇全体裸体洗澡| 成人性生交大片免费看视频在线 | 8888四色奇米在线观看| 在线观看日韩毛片| 性欧美一区二区| 丝袜美腿亚洲一区| 日韩在线电影一区| 88xx成人永久免费观看| 国产亚洲综合久久| 一区精品在线观看| 日韩久久一区二区| 古装做爰无遮挡三级聊斋艳谭| 2023国产精品久久久精品双| 亚洲free性xxxx护士hd| 在线中文字幕-区二区三区四区| 欧美一级高清片| 妺妺窝人体色www聚色窝仙踪| 国产精品18久久久久| 99国产精品白浆在线观看免费| heyzo欧美激情| 97欧美精品一区二区三区| 深夜福利在线观看直播| 日本韩国欧美一区| 九九热久久免费视频| 国模娜娜一区二区三区| 丁香花在线影院观看在线播放| 欧美xxxx在线| 国产精品久久久久秋霞鲁丝| 秋霞午夜理伦电影在线观看| 欧美va亚洲va| 69亚洲精品久久久蜜桃小说| 国产精品理论在线观看| 色欲欲www成人网站| 亚洲欧美视频| 一区二区免费在线观看| 国产精品毛片久久久| 日韩av不卡在线| 黄色动漫在线| 亚洲精品中文字幕女同| 国产精品女同一区二区| 精品久久久久久国产91| 久久精品三级视频| 成人黄色777网| 激情 小说 亚洲 图片: 伦| 国产精品v亚洲精品v日韩精品| 久久草.com| 高清精品久久| 日本乱人伦a精品| av网站大全在线| 亚洲男人天堂2019| 99国产精品欲| 日本韩国欧美在线| 亚洲一区二区91| 亚洲欧洲精品一区二区三区 | 亲子伦视频一区二区三区| 国产精品偷伦视频免费观看国产 | 岛国av免费观看| 日韩电影在线观看一区| 国产毛片久久久久久国产毛片| 国产欧美日韩视频在线| 99久久99久久精品国产片| 黄色亚洲网站| 欧美精品aaa| 久cao在线| 国产一区二区免费| 色一情一乱一区二区三区| 欧美疯狂性受xxxxx喷水图片| 丰满少妇乱子伦精品看片| 亚洲色图欧美偷拍| 手机看片日韩av| xfplay精品久久| 蜜臀视频在线观看| 国产在线精品不卡| www.日本一区| 日韩和欧美一区二区| 可以在线看的av网站| 欧美日韩p片| 热这里只有精品| 三区四区不卡| 色综合视频二区偷拍在线| 欧美日韩大片免费观看| 国产精品jizz视频| 亚洲一区二区电影| 亚洲精品免费av| 国产一区二区三区| 成人精品在线观看| 亚洲国产综合在线观看| 国产精品日日摸夜夜添夜夜av| 在线免费看h| 2019av中文字幕| 爱草tv视频在线观看992| 欧美精品成人91久久久久久久| 麻豆传媒在线观看| 久久精品国产欧美激情| 伊人免费在线| 这里只有精品视频| 日本网站在线免费观看视频| 日韩中文字幕精品| 久操视频在线播放| 美女性感视频久久久| 影音先锋在线播放| 久久99久国产精品黄毛片入口| 日韩影视在线| 久久免费视频这里只有精品| а√在线天堂官网| 日韩av成人在线| 国产精品久久亚洲不卡| 国产精品视频久| 成年人视频在线免费| 亚洲一区成人| 亚洲爆乳无码专区| 日本不卡一区二区三区高清视频| 国产又猛又黄的视频| 久久国产婷婷国产香蕉| 亚洲高清av一区二区三区| 国产在线视视频有精品| 91精产国品一二三| 99久久婷婷国产| 国产伦精品一区二区三区视频女| 国产精品美女久久久久久2018| 亚洲精品自拍视频在线观看| 亚洲三级在线播放| 精品午夜福利在线观看| 天天操天天色综合| 中国a一片一级一片| 555www色欧美视频| 黄色一级大片在线免费看国产一| 日韩国产精品一区| 91精品国产91久久久久游泳池 | 老色鬼久久亚洲一区二区| 免费一级特黄录像| 国产精品18久久久久久久网站| 800av在线播放| 中文av一区二区| 亚洲av鲁丝一区二区三区| 午夜电影一区二区| 糖心vlog精品一区二区| 日韩你懂的在线观看| 免费国产在线观看| 欧美精品一区二区免费| 超级碰碰久久| 91精品黄色| 国产一区二区三区四区二区| 久久av秘一区二区三区| 国产欧美日韩综合一区在线播放| 9l视频白拍9色9l视频| 成人性生交大片免费看视频在线| 国产精品国产三级国产专业不| 亚洲欧美日韩中文播放| 三级网站在线播放| 精品区一区二区| 夜级特黄日本大片_在线| 国语自产精品视频在免费| 成人在线高清| 国产一区免费观看| 91精品啪在线观看国产18| 久草资源站在线观看| 国产精品18久久久| 中文字幕在线观看二区| 精品欧美一区二区三区| 国产成年妇视频| 一区二区三区在线播放欧美| √最新版天堂资源网在线| 成人欧美一区二区三区黑人| 西野翔中文久久精品国产| 国产精品无码免费专区午夜| 久久精品国产色蜜蜜麻豆| 黄色在线观看av| 亚洲一区二区av在线| 在线黄色av网站| 亚洲视频电影图片偷拍一区| 国内精彩免费自拍视频在线观看网址| 成人在线视频网| 日韩免费视频| 国内外免费激情视频| 97se亚洲国产综合自在线观| 精品午夜福利在线观看| 欧美一区二区三区视频在线| 在线a人片免费观看视频| 日韩av理论片| 亚洲警察之高压线| 无码专区aaaaaa免费视频| 国产盗摄女厕一区二区三区| 91香蕉一区二区三区在线观看| 欧美系列亚洲系列| 黄色在线小视频| 国产91亚洲精品| 猛男gaygay欧美视频| 99热在线这里只有精品| aaa亚洲精品| 日本高清www免费视频| 精品不卡在线视频| 国产一线二线在线观看| av色综合网| 国产精品分类| 永久免费未满蜜桃| 亚洲va国产天堂va久久en| 天堂成人在线视频| 2020久久国产精品| 日韩美脚连裤袜丝袜在线| 国产91在线免费| 久久午夜免费电影| 天天干,天天干| 国产亚洲视频中文字幕视频| 性高爱久久久久久久久| 日韩一区国产在线观看| 日本不卡视频一二三区| 天美传媒免费在线观看| 欧美日韩国产不卡| a视频在线观看免费| 91精品网站| 亚洲日韩成人| 国产精品高清无码在线观看| 疯狂蹂躏欧美一区二区精品| 九色国产在线观看| 国产精选久久久久久| 天天综合一区| 午夜性福利视频| 欧美日韩国产影院| 91亚洲精选| 亚洲999一在线观看www| 亚洲欧洲另类| 精品无码人妻一区二区免费蜜桃| 欧美日韩一区 二区 三区 久久精品| 午夜老司机在线观看| 99精品国产高清在线观看| 国产欧美三级| 黄色av片三级三级三级免费看| 日韩一区二区精品| 国产精选在线| 亚洲一一在线| 懂色av中文一区二区三区 | 久久精品1区| 午夜国产福利视频| 亚洲精品一区二区三区在线观看| 国产精品av一区二区三区| 一区二区视频在线播放| av亚洲精华国产精华| 中文字幕人妻精品一区| 九九热这里只有在线精品视| 国产aⅴ精品一区二区三区久久| 欧美一级xxxx| 精品久久久在线观看| 日本三级在线视频| 国产精品国模大尺度私拍| 视频一区欧美精品| 麻豆亚洲av熟女国产一区二| 亚洲欧美国产日韩天堂区| 国产在线不卡一区二区三区| 国模吧无码一区二区三区| 亚洲人亚洲人成电影网站色| 视频国产在线观看| aa成人免费视频| 美女诱惑一区二区|