亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

正確使用C#中的#region指令來進行代碼的組織

2023-05-18 12:33:06
字體:
供稿:網(wǎng)友

本文旨在講解如何正確地使用#region指令,以更好地組織代碼。使用#region就是將一些有關(guān)聯(lián)的代碼組織在一起,然后折疊起來。這樣你就在一個函數(shù)中看不到很長很長的代碼段。例如:


 
  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++;  }} 

當(dāng)然這段代碼很簡單。在實際項目中,你可能看到上百行甚至更多的代碼在一個#region中。如果把它折疊起來??雌饋砭蜁苷麧?。是吧?


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

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


 
  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函數(shù)的復(fù)雜度。兩個函數(shù)可以分開測試,確保沒有邏輯錯誤。
小段總結(jié)1:  #region 不適合在大方法中使用,當(dāng)你在一個方法中使用#region 的時候,停下來想想你剛剛寫了什么代碼?大多數(shù)時候,你可以將這些代碼段獨立成一個函數(shù)。

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


 
  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中的代碼,你都要展開一次。

小段總結(jié)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} 

如果你將這個例子和本文中的第一個例子做下比較,你可能會看到它們的共同點。他們是相同的,不過一個是在類中,一個是在函數(shù)中,層級不同而已。這里在提一個原則:單一職責(zé)原則,一個類應(yīng)該只有一個職責(zé)??瓷厦娴念?,你可以很容易看出它有兩個職責(zé):價ge計算和折扣計算。折扣計算的方法被放到一個#region中。同樣,可以將它們提取出來做為一個新類。

小段總結(jié)3:可以將一組相關(guān)的函數(shù)提取到一個職責(zé)單一的新類中。

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


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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
婷婷精品久久久久久久久久不卡| 亚洲狼人综合| 青青草原播放器| 99国产精品一区二区三区| 永久av在线| 国产美女被草| 成人免费看视频| 国产三级精品三级在线观看国产| 黄色免费网站在线| 2020亚洲男人天堂| 一区二区高清视频| 久久久久久久久久久影院| 久久精品亚洲7777影院| 亚洲国产aⅴ精品一区二区| 欧美亚洲视频在线看网址| 色婷婷国产精品综合在线观看| 久久人人爽国产| 欧美男人亚洲天堂| 99热99精品| 中文在线字幕av| 天堂v视频永久在线播放| 欧美男女交配视频| 77777影视视频在线观看| 国产95亚洲| 青青青青久久精品国产一百度| 国产精品爽爽ⅴa在线观看| 蜜臀久久99精品久久久久宅男| 久久99青青| 99re66热这里只有精品4| 在线观看欧美一区二区| 国产在线不卡一区| 国精品一区二区三区| 欧美日韩免费高清一区色橹橹| 亚洲人成亚洲人成在线观看图片| 91tv官网精品成人亚洲| 日韩精品乱码av一区二区| 一级片在线观看视频| 高清视频在线观看三级| 亚洲免费成人在线| 亚洲图片在区色| 天天视频天天爽| 欧美精品video| 91精东传媒理伦片在线观看| theporn国产在线精品| 国产精品免费在线| 欧美视频一区二| 中文字幕2020第一页| 中文字幕精品久久久久| 欧美主播福利视频| 色诱av手机版| 无码少妇一区二区三区| 一色桃子一区二区| 在线观看精品国产| 欧美调教sm| 精品国产一区二区三区日日嗨| 成人免费看黄yyy456| 黑鬼狂亚洲人videos| 韩国av一区二区三区四区| 秋霞一区二区三区| 日韩毛片免费视频一级特黄| 午夜精品在线观看| 99热精品在线观看| 日本免费一级视频| 一本一本久久a久久精品综合麻豆| www.中文字幕.com| 日本xxx免费| 成人激情开心网| 亚洲深夜福利| 欧美一级淫片videoshd| 一本到av在线| 午夜影院在线播放| 狠狠色综合一区二区| 99久热在线精品视频观看| 99精品一区二区三区的区别| 欧美草草影院在线视频| 亚洲欧美日韩一区二区三区四区| 99久热在线精品视频| 亚洲一区不卡| 久久久资源网| 日本电影中文字幕| 国产成人夜色高潮福利影视| 日韩一级片在线播放| 亚洲高清电影| 免费人成自慰网站| 日韩人妻精品一区二区三区| 亚洲久本草在线中文字幕| 成人小电影网站| 成人精品毛片| 欧美1区免费| xvideos成人免费中文版| 91视频免费进入| 欧美大秀在线观看| 国产精品无人区| 91麻豆国产精品| 三级影片在线看| 欧美精品一区二区三区国产精品| 99av国产精品欲麻豆| 激情久久综合网| 青青青爽久久午夜综合久久午夜| 国产欧美在线播放| 久久精品视频8| 日本精品在线中文字幕| 日本粉色视频在线观看| 国产黄网在线观看| 91成人精品观看| 国产精品视频二| 99在线热播精品免费99热| 97在线看福利| 国产精品欧美日韩| 国产激情一区二区三区桃花岛亚洲| 日韩欧美一区二区三区在线| 色综合视频一区中文字幕| aaa国产一区| a级黄色免费视频| h动漫在线视频| 九九视频免费看| 久久久精品国产一区二区三区| 九九视频精品在线观看| www.黄在线| 精品人妻无码一区| 国产综合在线播放| 西野翔中文久久精品国产| 精品久久久香蕉免费精品视频| 久久视频在线视频| 蜜臀在线观看| 天天免费综合色| 亚洲三级影院| 亚洲天堂中文在线| 欧美五级在线观看视频播放| 亚洲天堂日韩电影| 麻豆影视在线播放| 欧美午夜三级| 不卡的av影片| 三级网站视频在在线播放| 91精品国产麻豆| 麻豆视频在线免费看| 亚洲国产aⅴ成人精品无吗| 亚洲欧美日韩中文播放| 亚洲成人在线免费| 在线观看中文字幕av| 国产日韩高清在线| 在线播放国产精品| 国产91在线视频观看| 欧美日韩午夜精品| 日韩极品视频在线观看| 美女国产一区二区| 欧美肥妇毛茸茸| 精品无码国产一区二区三区51安| 亚洲の无码国产の无码步美| 免费看涩涩视频软件| 成人一区二区三| 免费激情网址| 久久爱另类一区二区小说| 国产精选一区二区| 国产亚洲精品91在线| 伊人再见免费在线观看高清版| 欧美久久精品一级黑人c片| 波多野结衣视频网址| 香蕉一区二区| 国产无遮挡猛进猛出免费软件| 日本粉色视频在线观看| 二区视频在线观看| 唐朝av高清盛宴| 激情小说图片视频| 欲香欲色天天天综合和网| 91传媒免费视频| 欧美一级大片免费看| 国产美女情趣调教h一区二区| 国产精品无码永久免费888| 亚洲人metart人体| 国产真人真事毛片视频| 亚洲精品乱码久久久久久自慰| 久久九九国产| 东京热一区二区三区四区| 欧美成人黄色网| 国产麻豆精品高清在线播放| 国产一区欧美一区| 欧美成人午夜影院| 欧美成人精品一区二区三区| 亚洲视频 中文字幕| 亚洲精品成人无码毛片| 日本免费一区二区六区| 波多野结衣家庭教师在线播放| 欧美日韩午夜在线视频| 国产精品白浆流出视频| 免费看成人哺乳视频网站| 欧美久久久久| 成人高清免费在线| www.99re7.com| 日韩欧美视频在线播放| 色播五月综合网| 青青青青久久精品国产一百度| 久久久免费精品视频| 成人午夜福利视频| 欧美做受喷浆在线观看| 三级免费网站| jizz国产视频| 老司机午夜在线| 日韩欧美国产综合一区| 青青操视频在线| 国产精品对白久久久久粗| 欧美色就是色| 国产精品亚洲d| 午夜激情一区| 亚洲国产精品影院| 亚洲影院色在线观看免费| 婷婷丁香六月天| 国产亚洲精品女人久久久久久| 亚洲视频在线不卡| 国产在线观看中文字幕| 91麻豆精品国产91久久久使用方法| 国产精品v一区二区三区| 久久99精品久久久| 亚洲男人的天堂网站| 国产精品女人网站| 亚洲欧美激情在线视频| 亚洲444eee在线观看| 午夜免费激情视频| 国产麻豆精品一区二区| 亚洲天堂最新地址| 污免费在线观看| 欧美天堂亚洲电影院在线观看| 国内不卡的一区二区三区中文字幕| 丁香天五香天堂综合| 97久久香蕉国产线看观看| 57pao国产成人免费| 国产又粗又猛又爽又黄91精品| 羞羞在线观看网站| www.超碰在线观看| 美女网站视频在线观看| 亚洲911精品成人18网站| 久久久久久久av麻豆果冻| 亚洲毛片亚洲毛片亚洲毛片| 6080国产精品一区二区| 97久久综合区小说区图片区| 中文字幕在线播| 国产女人18毛片水真多18| 成人看片免费| 好男人香蕉影院| 亚洲视频免费观看| 另类av一区二区| www.91av视频.com| 性欧美18一19sex性欧美| 国内成人精品视频| 国产在线观看福利| 天天干天天操天天干天天操| 好吊色欧美一区二区三区四区| 国产a级片网站| 亚洲国产乱码最新视频| 伊人久久大香线蕉综合四虎小说| 欧美xxxx三人交性视频| 久操视频在线| porn视频在线观看| 青青影院在线观看| 中文字幕日韩精品一区| 精品精品国产高清一毛片一天堂| 亚洲超碰97人人做人人爱| 日韩专区在线| 国产成人精品视频ⅴa片软件竹菊| 亚洲视频小说图片| 56国语精品自产拍在线观看| 欧美影院久久久| 黄色片一区二区三区| 这里只有精品99re| 91成人免费观看网站| 国产精品中文字幕欧美| 国产人妻大战黑人20p| 91久久久久久久久久久久| 综合伊人久久| 国产精品1区在线| 日韩亚洲天堂| 日本福利在线| 日韩 国产 一区| 欧美一级久久久久久久大片| 亚洲mmav| 亚洲国产sm捆绑调教视频| 国产激情91久久精品导航| 久久久免费在线观看| 国产精品一区二区婷婷| 色与欲影视天天看综合网| 毛片aaaaaa| 99国产精品视频免费观看一公开| 国产不卡精品在线| 在线毛片网站| 羞羞网站在线观看| 亚洲乱码国产乱码精品精| 国内在线免费高清视频| 在线天堂中文www官网| 116美女写真午夜一级久久| 免费极品av一视觉盛宴| 色综合婷婷久久| 四虎精品在线| 国产一区二区在线看| 成人高清视频在线| 国产女人18毛片水真多成人如厕| 香蕉视频在线免费| 成年人视频网站在线| 色综合久久久久久久| 欧美视频日韩视频在线观看| 成人免费视频视频| 欧美日韩国产小视频在线观看| 精品成人免费| 性做久久久久久免费观看欧美| 日本韩国欧美超级黄在线观看| 中文字幕一区二区三区av| 日韩大陆欧美高清视频区| 久久国产精品一区二区三区四区| 欧美视频一二三| 欧美日韩成人综合天天影院| 中文字幕一区二区三区日韩精品| 特种兵之深入敌后| 国产91露脸中文字幕在线| 成人爽a毛片一区二区免费| 国产精品xxxx| 欧美性受xxxx白人性爽| 久久久国产精品黄毛片| 国产视频一区在线观看| 亚洲色图13p| 女人让男人操自己视频在线观看| 在线播放日韩专区| 国产精品久久久久av免费| 亚洲精品成人久久| 成年人视频网站| 日本三级中国三级99人妇网站| 久久亚洲精品国产亚洲老地址| 亚洲日本一区二区三区在线不卡| 视频小说一区二区| 日韩精品免费在线播放|