国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

關于C#代碼規范的兩點疑惑

開發 后端
C#代碼規范大家都比較熟悉,變量名的命名等都要符合一定的規則,這樣才有利于代碼的維護。但這種規范并不是萬能的,這里本文的作者就有一些自己的疑惑。

筆者今天被培訓了C#代碼規范,為了統一風格。其中我比較有異議的兩點如下:

1.類型實例的私有字段應采用駱駝命名法(camelCasing),不應該有任何前綴,在使用時前邊加"this.”;

2.要用FCL類型而不是C#的基元類型,例如要使用Int32代替int。

首先對于第一點,個人比較習慣的做法是前邊加下劃線,說不上好壞,這兩種寫法在各種開源框架的源碼中都見到過。由于VS默認并不提供像Eclipse那樣的對私有字段變色的功能,所以如果只是簡單的使用camelCasing的話會很難區分哪些是私有字段,哪些是局部變量,所以才有了加this的要求。那么來做個比較:

  1. public void Test()  
  2. {  
  3.     _age = DateTime.Now.Year - _birth.Year;  
  4.     if (_birth > new DateTime(2000, 1, 1))  
  5.     {  
  6.         _name += " new century";  
  7.     }  
  8. }  
  9.  
  10. public void Test2()  
  11. {  
  12.     this.age = DateTime.Now.Year - this.birth.Year;  
  13.     if (this.birth > new DateTime(2000, 1, 1))  
  14.     {  
  15.         this.name += " new century";  
  16.     }  

哪個更能一眼看出其中的私有字段來?似乎并沒有明顯的區別,相反當局部使用的字段比較多的時候,加下劃線反而顯得更凌亂一點。

但是,this不是單為field而設置的,實例的屬性,方法,事件都可以使用,一旦我們習慣了使用this:

  1. public void Test()  
  2. {  
  3.     Prop1++;  
  4.     _age = DateTime.Now.Year - _birth.Year;  
  5.     Method1();  
  6.     if (_birth > new DateTime(2000, 1, 1))  
  7.     {  
  8.         Prop2 += " abcd";  
  9.         _name += " new century";  
  10.     }  
  11.     Event1 += () => { };  
  12. }  
  13.  
  14. public void Test2()  
  15. {  
  16.     this.Prop1++;  
  17.     this.age = DateTime.Now.Year - this.birth.Year;  
  18.     this.Method1();  
  19.     if (this.birth > new DateTime(2000, 1, 1))  
  20.     {  
  21.         this.Prop2 += " abcd";  
  22.         this.name += " new century";  
  23.     }  
  24.     this.Event1 += () => { };  

哪個更能一眼看出其中的私有字段來?這個例子可能偏激了一些,但足以表達我的意思。

另一方面來說,一旦我敲下了this.,由于VS的智能提示,會出現一大堆的提示項讓我腦袋發蒙,但是當我敲一個下劃線之后,出現的就只會是所有的私有字段了,干凈了許多。

m_的前綴也是一個不錯的選擇,而且這兩種前綴當我們使用快捷鍵生成屬性的時候,VS都會聰明地把前綴去掉,首字母大寫,只顯示我們想要的名字。

好吧如果這一條規則我還能接受的話,第二個規則就實在讓我無法理解了。

要用FCL類型而不是C#的基元類型,例如要使用Int32代替int。

培訓人并沒有說清楚為什么要這么做,從《CLR via C#》這本書中看出,作者也是強烈建議使用FCL類型,他的理由大致是:有些人對int表示什么有困惑,認為在32位機器上就代表Int32,在64位機器上就代表Int64,如果我們直接使用Int32就不會有這樣的困擾;long在很多語言中不是64位的,這讓習慣于這些語言的人看C#會有誤解;等等。

這些理由我都承認,但我認為不足以說服我使用FCL類型,我的理由如下:

1.我認識的同事,95%都使用C#的基元類型來敲代碼,如果一個規則要讓絕大多數人都更改自己的習慣,那么它本身就不合理,而且不可能實施得很順利。

2.VS的智能提示都擅自主張地使用C#基元類型而不是FCL類型,即使你用FCL類型編寫了一個方法,在我們使用時出現在智能提示中的仍然是基元類型。如果我看到一個方法返回long型,我很自然地會使用一個long去接收它,如果前邊寫一個Int64接收一個返回long的方法不覺得別扭么?如果我是新手我是不是認為這還是個隱式轉型呢?

3.從習慣上來說,我敲一個int比敲一個Int32快許多,也舒服很多。我敲一個Int64更是痛苦無比,每次都要低頭去找6在哪。我按6最多的時候是玩魔獸的時候,但是玩魔獸和敲代碼食指的位置不一樣啊,我總是按到7啊。

4.我個人喜歡藍色,比那個藍不藍綠不綠的好看多了,這個純粹是吐槽。

對于統一編碼規范我是舉雙手贊同的,尤其在交接工作比較頻繁的時候,看著各種各樣新奇的命名法總是讓人心里抓狂。程序員都多多少少有一些潔癖吧,看到不符合自己風格的就想去改。我不是做決定的人,但我總是希望一個人在替很多人做決定時還是廣泛征求下意見比較好,不要輕易地把自己的習慣強加給別人,除非你有充足的理由說服我。對于一個熱愛這項職業的程序員來說,能舒舒服服地敲代碼是一種幸福,但是服從上級的安排,為大局著想又是我的義務,要是能舒舒服服地完成義務該多好。

原文鏈接:http://www.cnblogs.com/Tyr-Tian/archive/2011/04/28/2032233.html

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

2009-09-01 10:37:51

C#項目代碼C#代碼規范

2009-08-06 17:42:32

C#知識點

2013-01-05 14:25:27

大數據

2015-08-03 10:25:58

C語言特性不為人知

2021-04-06 08:15:05

開發技能代碼

2009-07-16 09:25:27

Java常量定義

2018-08-28 06:21:19

網線布線線纜

2009-02-01 09:06:15

.NET多線程.NET線程管理

2025-09-10 09:15:36

2010-08-10 09:51:19

C#代碼

2009-08-21 08:59:35

C#語言規范

2009-08-27 16:30:08

C#編程命名規范

2009-08-13 13:38:30

C#命名規范

2009-08-21 08:52:40

C#語言命名

2009-05-22 11:01:53

C++JavaC#

2021-08-26 14:55:55

開發React代碼

2012-08-23 11:18:15

2009-08-24 15:56:28

C#項目開發實例

2022-04-10 23:07:21

瀏覽器FirefoxLinux

2010-05-13 11:12:59

統一通信平臺
點贊
收藏

51CTO技術棧公眾號

中文字幕日韩在线播放| 国产精品1024久久| 日韩有码在线视频| 97超碰成人| 国产精品久久久久久久午夜| 九一亚洲精品| 国产精品午夜视频| 久久狠狠久久| 91精品国产自产在线老师啪| 蜜桃a∨噜噜一区二区三区| 久久人人爽国产| 国产劲爆久久| 国产精品一区二区三| 国产成人av电影在线观看| 福利片在线免费观看| 亚洲品质自拍视频网站| 久久免费电影| 日韩亚洲欧美在线| 日产精品久久久一区二区| 麻豆精品视频在线观看免费| 欧美成人一区二区在线观看| 亚洲欧美另类久久久精品| 麻豆app在线观看| 日韩理论片久久| 午夜欧洲一区| 日本免费高清一区| 欧美韩国日本一区| 91精彩在线视频| 在线a欧美视频| 欧美日一区二区| 婷婷五月色综合| 国产精品久久久久婷婷二区次| 电影在线一区| 久久精品久久久久久国产 免费| 亚洲精品网址| 成人免费看黄| 国产精品丝袜视频| 麻豆精品网站| 激情六月天婷婷| 夜夜爽夜夜爽精品视频| 99热国产在线| 琪琪亚洲精品午夜在线| 国产一区二区中文字幕| 噜噜噜狠狠夜夜躁精品仙踪林| 国产精品美女免费| 青青草免费观看免费视频在线| 欧美亚日韩国产aⅴ精品中极品| 香蕉伊大人中文在线观看| 欧美中文在线视频| 激情综合五月婷婷| 伪装者在线观看完整版免费| 中文字幕亚洲一区在线观看| 国内精品久久久久久久影视蜜臀| av免费观看网| 日韩欧美电影一区| 免费精品国产| 99热久久这里只有精品| 欧美日韩精品一区二区三区蜜桃 | 日本aⅴ大伊香蕉精品视频| 亚洲午夜在线| 久播影院第一理论片| 在线精品播放av| 久久婷婷久久| 色网视频在线| 欧美精品成人91久久久久久久| 久久精品欧洲| 欧美女同网站| 欧美中文字幕视频| 久久色.com| 日韩大尺度黄色| 免费国产在线精品一区二区三区| 亚洲成av人片一区二区梦乃 | 国产精品高颜值在线观看| 5g国产欧美日韩视频| 中文字幕日韩精品一区| 豆花视频一区| 亚洲理论电影在线观看| 精品国产一区二区三区久久久蜜月| 久久国产小视频| av网站免费| 91精品成人久久| 久久一区二区视频| 777午夜精品电影免费看| 天天综合中文字幕| 亚洲第一福利网站| 日本va欧美va精品发布| 色呦呦在线播放| 欧美日韩在线播放一区二区| 69堂亚洲精品首页| 亚洲在线日韩| caoporn免费在线| 欧美日韩综合网| 91麻豆精品国产无毒不卡在线观看 | 成人毛片高清视频观看| 国内揄拍国内精品| 欧美激情一区不卡| 老牛影视av一区二区在线观看| wwww.国产| 2020久久国产精品| 1区2区3区国产精品| 国产精品嫩模av在线| 97在线观看免费观看| 亚洲www在线观看| 一本一本久久a久久精品综合麻豆| 日韩精品久久久久久久电影99爱| 麻豆电影传媒二区| 成人福利视频网| 精品视频在线免费看| 久久精品在线| 国产精品vvv| 很污的网站在线观看| 色综合久久天天综线观看| 国产丝袜欧美中文另类| 精品人人人人| 永久www成人看片| 91免费视频网站| 欧美浪妇xxxx高跟鞋交| 免费看欧美美女黄的网站| 色老太综合网| 激情视频免费网站| 成人激情视频在线| 欧洲av一区二区嗯嗯嗯啊| 国产精品婷婷| 朝桐光一区二区| 中文字幕 91| 1卡2卡3卡精品视频| 91麻豆精品国产91久久久久久| 另类欧美日韩国产在线| 国产一区二区av在线| 偷偷要色偷偷| 欧美一区免费视频| www.日韩视频| 亚洲一区在线视频观看| 亚洲在线国产日韩欧美| 九九久久国产| 中午字幕在线观看| 日韩精品极品视频在线观看免费| 亚洲香蕉成人av网站在线观看| 不卡视频免费播放| 欧美一区二区麻豆红桃视频| wwwav在线| www.超碰com| 国产精品视频福利| 精品国产自在精品国产浪潮| 欧美日韩国产精品一区二区不卡中文| 奇米精品一区二区三区在线观看一 | 亚洲色图激情小说| ...xxx性欧美| 国产日韩欧美| 精品亚洲a∨一区二区三区18| 日韩一区二区三区中文字幕| 欧美一级特黄aaaaaa在线看片| 欧美一区第一页| 欧美一区二区三区在线观看| 欧美激情自拍偷拍| 欧美在线综合| 首页亚洲中字| 嗯啊主人调教在线播放视频| 福利电影导航| 欧洲美女和动交zoz0z| 国产精品天天狠天天看| 亚洲精选中文字幕| 五月激情丁香一区二区三区| 国产精品2024| 午夜精品视频| 日韩中文一区二区| 伊人春色在线观看| 快色在线观看| 草草草视频在线观看| 91天堂在线观看| 欧美成人自拍视频| 精品国产免费一区二区三区四区 | 九色视频成人自拍| 久久久久久久中文| 欧美日韩亚洲在线| 91精品久久久久久久久久入口 | av在线播放国产| 999www成人| 中文字幕一区二区三区乱码 | 欧美激情高清视频| 欧美福利视频导航| 亚洲色图欧洲色图婷婷| 成人小视频在线| 99国产精品久久久久久久| 特黄特色欧美大片| 欧美日韩卡一| 极品在线视频| av福利在线播放| 天天看片激情网站| 国产成人超碰人人澡人人澡| 两个人的视频www国产精品| 麻豆av一区二区| 成人性生交大片免费看午夜 | 日韩一区二区在线| 91免费在线播放| 波多野结衣在线高清| 99久久精品费精品国产一区二区| 欧美日韩美少妇| www在线视频| 99国产精品视频免费观看|