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

對代碼命名的一點思考和理解

系統
一個軟件最后都會落實到代碼。而代碼,其背后的架構設計或設計思想或模式固然重要,但我覺得更重要的東西則是良好的命名。混亂或錯誤的命名不僅讓我們對代碼難以理解,更糟糕的是,會誤導我們的思維,導致對代碼的理解完全錯誤。

一個軟件最后都會落實到代碼。而代碼,其背后的架構設計或設計思想或模式固然重要,但我覺得更重要的東西則是良好的命名。混亂或錯誤的命名不僅讓我們對代碼難以理解,更糟糕的是,會誤導我們的思維,導致對代碼的理解完全錯誤。相反,良好的命名,則可以讓我們的代碼非常容易讀懂,也能向讀者正確表達事物以及邏輯的本質,從而使得代碼的可維護性就大大增強,讀命名好的文章是非常流暢的,會有一種享受的感覺。

另外一點也許大家還沒感受到,那就是良好的命名,以及良好的命名習慣,由于我們總是對每個概念的名稱要求非常苛刻,我們會思考這個名稱所表達的概念是否正確,該名稱是否正確表達了事物的本質或正確反映了某個行為的邏輯。所以,這種對命名的良好思考習慣,可以反過來幫助我們糾正之前的一些錯誤設計和代碼實現;比如,你之前有一個地方可能命名不太準確,然后你發現后面有另一個地方需要用這個名字,且更合理。所以你會發現這個名字對前面的地方就不適合了,從而你會去思考前面的地方可能需要用其他的名字,或者你會發現前面的地方的設計根本就是有問題的。這種就是名字可以促使你思考你的設計是否正確的例子。

代碼命名混亂或錯誤的主要原因:

  1. 沒理解事物的本質;
  2. 理解了事物的本質,但不知道命名的重要性或者根本不屑于做好命名;
  3. 理解了事物的本質,也知道命名的重要性,但沒能力命名好事物;

養成良好的命名習慣的一些想法:

  1. 對自己的嚴格自律,自己寫代碼時要有一種希望把每個名稱都命名好的強烈意識和嚴格的自律意識;
  2. 要努力分析和思考當前被你命名的事物或邏輯的本質;這點非常關鍵,思考不深入,就會導致最后對這個事物的命名錯誤,因為你還沒想清楚被你命名的事物是個什么東西;
  3. 在有自律意識和一定的分析能力基礎之上,注意命名的方法技巧;要知道何時用動詞,何時用名詞;以及形容詞放哪里,動詞放哪里,名詞放哪里;也就是小學時的主謂賓要會用;
  4. 你的任何一個屬性的名字都要和其實際所代表的含義一致;你的任何一個方法所做的事情都要和該方法的名字的含義一致;
  5. 從代碼的命名可以看出寫代碼的人編程時思路是否清晰,如果你對一個名字的命名不準確,很可能體現出你還沒有理解這個名字背后的東西;
  6. 要讓你的程序的每個相似的地方的命名風格總是一致的。不要一會兒大寫,一會兒小寫;一會兒全稱一會兒簡寫;一會兒Pascal命名法,一會兒camel命名法或匈牙利命名法;
  7. 不要出現重復的命名;因為通常名稱都有嵌套關系,比如類在命名空間里,方法在類里,所有如果一個概念在命名空間里表達了,那就不必再類上再表達一次;
  8. 對于屬性或類名,應該總是名詞在最后面,名詞決定了這個屬性代表什么,前面的部分都是用于修飾這個名詞;比如,假如現在你有一個服務,然后又是一個關于訂單的服務,那就可以命名為OrderService,這樣命名就是告訴我們這是一個服務,然后是一個訂單服務;再比如CancelOrderCommand,看到這個我們就知道這是一個Command,即命令,然后是什么命令呢?就是一個取消訂單的命令,CancelOrder表示取消訂單;
  9. 對于方法,應該總是動詞開頭,名詞結尾;比如Order.AddItem(orderItem);這個,表示訂單類有一個添加訂單項的方法,Add是動詞,表示添加,Item是名詞表示訂單項;
  10. 在C#中,我們一般用camel以及Pascal命名法,而不是匈牙利命名法。我覺得主要是兩個原因:1)VS強大的智能感知提示的存在,我們沒有必要突出變量的類型了,但這個我覺得只是一個次要原因;2)真正的原因,我上面有提到,一個變量,名詞是放在最后的,這個名詞決定了這個變量代表什么。比如有個變量叫totalCount,我們一看就知道這是一個count,然后count一定是一個int或者long,所以就不需要在強調它的類型了。再比如,remotingRequest, httpRequest,這種,我們也一看就知道他們是請求,一個是remoting的請求,一個是http的請求。remoting,http是用來修飾request的。request決定了這個變量是什么(同時就意味著我們知道了他的類型了),然后remoting,http這種是進一步說明該request的業務含義或當前上下文。就像disabledButton,我們一看就知道這是一個button,然后是一個什么Button呢,就是一個已禁用的button。所以,好的名稱,本身就會讓我們很容易知道該名稱是什么東西,它的類型是什么,具有什么業務含義,所以沒有必要再加類型縮寫作為前綴;
  11. 多學習英文,多看國外優秀開源項目中的命名技巧,會對我們命名有很大幫助;

通過一些不太好的代碼命名來分析一些簡單的命名問題

132318412159759

以上代碼中,有很多問題,我們來一一分析:

  1. 方法的參數,第一個字母,一會兒大寫的P,一會兒小寫的p,不一致;
  2. 第二個參數后面出現多余的空格,不應該;
  3. _paramsTable這個參數為什么要出現下劃線,而其他參數沒有下劃線,不一致;
  4. publishRequest屬于camel命名法,而iSignCounter, sStageIsOK這種屬于另一種命名法,這種命名c++中用的多,不一致;
  5. foreach循環中,參數名叫instParam,但是后面的集合叫arrParams4SignActions,更對稱一點的,應該叫arrInstParam;
  6. 方法的最后兩行,出現多余的空格,導致代碼格式排版混亂;

從上面的代碼我們可以知道,僅僅是通過這些細節,就能發現很多問題。我們寫代碼時,只要多細心點,多注意點排版是否美觀一致、命名是否統一,那代碼寫出來就會漂亮很多了。下面我們再看看其他的代碼:

132332351682183

  1. 上面的代碼中,兩個參數的命名也不一致,projectid中,i是小寫,但是publishId參數,i卻是大寫,應該都統一為大寫;
  2. ViewData中的key,一會兒是全部大寫的UPDATE,一會兒是另一種命名,不一致;
  3. 上面的兩個紅框標出來的if,雖然都是只有一行代碼,但是一個有括號,一個沒有括號,不一致;且第二個if里出現了多余的空行,格式混亂;

132340191685294

  1. 上面的代碼中,函數中,一會兒用IList,是一個接口,一會兒用Dictionary,非接口,不一致;應該都用接口,或者都不用接口;
  2. listOriginal和receiverList命名不一致,要么全部list開頭,要么全部List結尾;
  3. foreach循環中,變量的類型叫TDMSOriginalRequirement,但是變量名卻叫originalItem,而集合名稱又叫listOriginal,應該三者統一;比如foreach (Assembly assembly in assemblies)
  4. +“…”這個地方沒有用空格,加號兩邊應該要空格,這屬于格式混亂,不嚴謹;
  5. createUser這個變量取的很不理想,create是動詞,createUser合起來就是創建用戶的意思,而他這里要表達的意思是創建人的意思,所以應該叫createdUser或者creator;
  6. 為何originalItemFormat和originalItem的意思可以等價,不合理,如果等價,一開始就要命名為originalItemFormat;而且format是一個東西,動詞放在最后,算個啥?

132358057626942 (1)

  1. 上面這個類的幾個私有字段中,有些帶命名空間,有些不帶,要么都不帶,要么都帶;一般命名空間都是在上面聲明,后續不需要出現;
  2. ILog logger;這一句有兩個問題:1)logger為何沒有下劃線,不統一;2)為何類名叫ILog,而變量名叫logger,要統一,要么類名叫ILogger,要么變量名叫_log;

140002070901351 (1)

上面這兩個私有方法,一個是大寫開頭,一個是小寫開頭,不一致,混亂;應該要一致;

總結

通過上面的一些例子,我們知道,在我們不經意間,多寫了一個空格或者一個空行,或者一個字母的大小寫不一致了,都會導致命名的不一致;如果自己沒有養成這種平時注重代碼命名各種一致性的習慣,那寫出來的代碼很可能就是像上面那樣。我覺得是非常糟糕的。上面我舉的例子都只是簡單的命名方面的,更深層次的命名問題,比如如何做到名稱和其背后的實現內容一致,這個是需要我們平時不斷修煉的。不是短時間內就可以做到那個程度。

我覺得,要做好命名,歸根結底:

1)先要意識到命名的重要性;2)要端正態度,要認真的寫代碼;3)要努力推敲每個名稱和其實際做的事情是否一致,也就是命名的準確性;4)要時刻注意命名的各種一致性;

養成良好的命名習慣不是為了別人,不是為了公司,而是為了提高自己的編程修養,提高自己認識事物的能力。

原文鏈接:http://www.cnblogs.com/netfocus/p/3896118.html

責任編輯:牛小雨 來源: 湯雪華的博客
相關推薦

2014-09-23 11:21:05

代碼命名程序員架構設計

2021-05-17 11:47:41

多租戶系統私有化

2015-11-02 09:43:25

ASP.NET異步編程

2011-07-04 09:33:04

惠普轉型李艾科

2022-07-13 08:45:29

云原生容器網絡

2011-12-23 09:16:19

2021-09-28 18:54:26

信息流大數據人工智能

2013-05-14 12:06:26

.Net系統架構架構設計

2013-05-13 11:25:44

系統架構

2013-03-06 10:19:56

重構架構設計

2011-07-18 16:33:20

sqlite

2022-04-06 07:14:29

區塊鏈網絡生態系統

2013-06-26 10:13:32

C語言結構體結構體偏移

2015-03-26 09:23:17

天璣科技融合架構

2021-04-26 15:19:02

鴻蒙HarmonyOS應用

2021-05-20 09:11:00

5G5G網絡5G終端

2024-04-28 14:54:09

機器人代碼

2009-09-16 10:48:31

PHP正則表達式

2010-05-20 15:29:43

優化IIS

2009-01-20 14:04:58

數據挖掘信息整合應用
點贊
收藏

51CTO技術棧公眾號

日本一卡二卡四卡精品| 免费一级肉体全黄毛片| 最新日韩av| 国产精品盗摄一区二区三区| 国产日韩精品在线| 亚洲欧美一区二区三区四区五区| 给我免费播放日韩视频| 色综合天天综合狠狠| 亚洲欧洲一区二区| 丰满熟妇人妻中文字幕| 久久久久久久欧美精品| 久久五月天综合| 中文在线永久免费观看| 日韩一区中文| 狠狠色狠狠色综合日日五| 在线国产伦理一区| 香蕉视频网站在线| 国产又粗又猛又爽又黄91精品| 国外视频精品毛片| 秋霞欧美一区二区三区视频免费| 福利片一区二区| 欧美日韩国产成人在线免费| 免费 成 人 黄 色| 麻豆网站在线看| 久久综合色一综合色88| 超碰97人人在线| 一区二区三区免费在线| 男人天堂欧美日韩| 欧美精品国产精品日韩精品| 日韩精品一区二区亚洲av性色| 亚洲婷婷伊人| 亚洲国产97在线精品一区| 五月天视频在线观看| 免费亚洲电影| 婷婷开心激情综合| 国产精品videossex国产高清| 欧美成人性生活视频| 国产亚洲女人久久久久毛片| 国产亚洲二区| 国产91免费在线观看| 国产精品综合在线视频| 国产精品国产三级国产aⅴ浪潮| 亚洲 欧美 视频| 激情久久久久| 九九久久精品一区| 国产女人18水真多毛片18精品| 日本欧美视频| 一区二区三区四区在线观看视频| 玖玖爱在线观看| 日韩av三区| 日韩高清中文字幕| 久久人人妻人人人人妻性色av| 4438全国亚洲精品观看视频| 日韩欧美一区在线| 欧美人与性动交α欧美精品| 国产精品一区二区美女视频免费看| 在线视频你懂得一区| 玩弄japan白嫩少妇hd| 中文在线8资源库| 日韩欧美在线字幕| 欧美性猛交久久久乱大交小说 | 久久影院免费观看| 黄色录像二级片| 欧美成人日本| 久久久亚洲成人| 五月天婷婷久久| 日本亚洲最大的色成网站www| 国产福利视频一区| 亚洲图片视频小说| 韩国欧美国产一区| 99精品国产高清在线观看| 亚洲av综合色区无码一区爱av | 高清免费电影在线观看| 日韩码欧中文字| 成人短视频在线观看免费| 欧美14一18处毛片| 精品久久久久久久久久久久久久| 欧美日韩黄色一级片| 最新日韩三级| 69精品人人人人| 国产在线观看免费播放| 欧美freesex8一10精品| 亚洲网站视频福利| 91高清免费观看| 国产欧美亚洲一区| 国产精品视频男人的天堂| 国产乱码久久久| 99v久久综合狠狠综合久久| 麻豆91蜜桃| 精品国产白色丝袜高跟鞋| 亚洲一卡二卡三卡四卡五卡| aa免费在线观看| 成人永久在线| 亚洲精品网址在线观看| 国产三级aaa| 亚洲巨乳在线| 国产综合久久久久久| 免费观看毛片网站| 国产精品你懂的在线欣赏| 妞干网视频在线观看| 在线国产成人影院| 欧美一级理论片| 97人妻精品一区二区免费| 中文在线日韩| 国产精品福利无圣光在线一区| 精品国产一级片| 国产欧美中文在线| 久无码久无码av无码| 成人精品高清在线视频| 亚洲精品第一国产综合精品| 特黄一区二区三区| 久久成人一区| 国产一区二区视频在线免费观看 | 久久婷婷五月综合色国产香蕉| 亚洲福利影视| 亚洲毛片在线免费观看| 久久免费在线观看视频| 免费视频最近日韩| 免费成人在线观看av| 羞羞视频在线免费国产| 欧美天天综合网| 欧美日韩亚洲一区二区| 四虎永久国产精品| 九色porny自拍视频在线观看| 欧美人成免费网站| 日韩乱码人妻无码中文字幕久久| 国产精品大片| 亚洲综合在线做性| 欧美18一19xxx性| 一本一本大道香蕉久在线精品| 免费涩涩18网站入口| 青草久久视频| 性欧美办公室18xxxxhd| 亚洲成人久久精品| 亚洲另类色综合网站| 狠狠干狠狠操视频| 成人久久综合| 国产99久久精品一区二区永久免费 | 无码h肉动漫在线观看| 欧美视频不卡| y111111国产精品久久婷婷| 哥也色在线视频| 在线成人午夜影院| 精品伦精品一区二区三区视频密桃| 久久国产精品久久w女人spa| 久久九九视频| 中文在线中文资源| 亚洲欧美另类国产| 无码人妻av免费一区二区三区| 久久综合网色—综合色88| 欧美日韩在线视频一区二区三区| 欧美精品中文| 5278欧美一区二区三区| 麻豆app在线观看| 在线观看免费成人| 日韩欧美美女一区二区三区| 亚洲欧美日韩中文字幕在线观看| 91tv精品福利国产在线观看| 成人免费视频在线观看超级碰| 日本成人网址| 5858s免费视频成人| 久久福利免费视频| 国产精品白丝jk白祙喷水网站| 国产日本欧美在线| 日韩精品成人在线观看| 欧美激情一区二区三区久久久| 亚洲欧美国产高清va在线播放| 亚洲国产你懂的| 国产白嫩美女无套久久| 久久久久在线| 椎名由奈jux491在线播放| 免费观看亚洲天堂| 午夜精品久久久久久久男人的天堂 | 日本在线高清视频一区| 欧美国产日韩电影| 欧美成人国产va精品日本一级| 欧美特黄一级视频| 一本色道久久综合亚洲91| 国产黄色大片免费看| 久久99蜜桃精品| 久久久久99精品成人片| 亚洲免费成人av在线| 国产日韩精品入口| cao在线视频| 国产一区二区三区三区在线观看| 国产深喉视频一区二区| 偷拍一区二区三区四区| 亚洲一二三精品| 高清国产一区二区三区| 茄子视频成人免费观看| 婷婷综合久久| 久久国产精品高清| 四虎视频在线精品免费网址| 久久久久久久久久久人体| 国产免费永久在线观看| 日韩精品一区二区三区四区视频| 亚洲综合图片网| 亚洲欧美电影一区二区| 爱爱免费小视频| 国产一区二区久久| 国产成人av影视| 国内精品久久久久久久影视蜜臀 | 亚洲精品小说| 欧美xxxx黑人又粗又长精品| 亚洲人成777| 欧美在线视频导航| av观看在线| 国产亚洲精品久久久久久| 懂色av一区二区三区四区 | 亚洲精品97久久中文字幕| 色婷婷综合久色| 久草视频免费播放| 中文字幕高清不卡| 成人免费毛片日本片视频| 狠狠色丁香久久婷婷综合_中| 欧美韩国日本在线| 黄色成人在线网址| 一区二区三区免费看| 亚洲资源网你懂的| 成人动漫在线视频| 9999在线精品视频| 国产精品xxx视频| 麻豆视频在线看| 久久久久亚洲精品| 2024最新电影在线免费观看| 中文字幕日韩精品在线| 国产一级免费在线观看| 亚洲第一视频网站| 亚洲成人精品女人久久久| 91精品国产一区二区| 亚洲免费视频二区| 色香色香欲天天天影视综合网| 久久久一区二区三区四区| 亚洲欧洲日产国产综合网| 日本少妇xxxxx| 国产日韩精品一区| 色欲av无码一区二区三区| 99久久er热在这里只有精品66| xxxx国产视频| 国产成人精品亚洲日本在线桃色 | 成人免费一级片| 日本精品一级二级| 国内自拍视频在线播放| 欧美色视频日本高清在线观看| 一区二区三区视频免费看| 亚洲无人区一区| 久久精品免费在线| 亚洲国产美国国产综合一区二区| 欧美激情一区二区视频| 一区二区三区四区高清精品免费观看 | 99视频免费播放| 日韩高清在线不卡| 亚洲国产高清av| 另类成人小视频在线| 999在线精品视频| 国产一区二三区| 亚洲丝袜在线观看| 国产99精品视频| 私密视频在线观看| 99免费精品视频| 女尊高h男高潮呻吟| 久久亚洲春色中文字幕久久久| 双性尿奴穿贞c带憋尿| 久久久www成人免费毛片麻豆| 老牛影视av老牛影视av| 欧美韩国日本一区| 熟女少妇a性色生活片毛片| 亚洲精品精品亚洲| 日韩av片在线播放| 日本久久电影网| 国产又粗又猛视频| 日韩免费一区二区三区在线播放| 亚洲精品综合网| 日韩激情av在线播放| 国产区av在线| 欧美激情2020午夜免费观看| 日韩伦理在线一区| 国产精品久久久久久久久久久不卡| 国产亚洲欧美日韩精品一区二区三区| 成人在线视频网| www.丝袜精品| 欧美一区二区三区在线播放 | 色999日韩欧美国产| 亚洲小说区图片区都市| 97视频在线观看亚洲| 88xx成人网| www国产亚洲精品| 国产成人黄色| 肉大捧一出免费观看网站在线播放| 精品不卡视频| 日本免费观看网站| 国产成人av影院| 亚洲一区视频在线播放| 一区二区三区在线播| 人妻丰满熟妇av无码区| 欧美一区二区日韩| 视频在线不卡| 久久影院中文字幕| 中文在线аv在线| 97超碰人人看人人 | 91丝袜一区二区三区| 欧美一区二区在线看| 三级视频在线播放| 欧美精品中文字幕一区| 综合在线影院| 国严精品久久久久久亚洲影视 | 日韩中文字幕在线视频观看| 麻豆成人综合网| 国产人妻人伦精品1国产丝袜| 亚洲天堂网中文字| 日韩中文字幕高清| 亚洲国产精彩中文乱码av| 国产一二区在线| 国产成人拍精品视频午夜网站| 国产精品极品国产中出| 欧美 另类 交| 奇米综合一区二区三区精品视频| 男女性杂交内射妇女bbwxz| 国产精品国产三级国产普通话三级 | 毛片在线视频| 国产精品极品尤物在线观看| 青青草这里只有精品| av日韩在线看| 国产一区二区在线看| 美国一级黄色录像| 色猫猫国产区一区二在线视频| 亚洲风情第一页| 久久综合伊人77777尤物| 欧美xxxx做受欧美护士| 久久精品一区二区三区不卡免费视频| 欧美1区视频| 亚洲天堂av一区二区三区| 欧美国产一区二区| 欧美精品韩国精品| 亚洲国产精品人人爽夜夜爽| 日韩专区av| http;//www.99re视频| 亚洲精品网址| 日批视频在线看| 一区二区三区四区在线免费观看| 91theporn国产在线观看| 这里只有精品视频| 国产电影一区二区三区爱妃记| 日本成人黄色| 丝袜亚洲精品中文字幕一区| 爱爱的免费视频| 欧美日韩免费在线观看| 神马久久精品| 欧美在线视频播放| 激情五月色综合国产精品| 国产精品天天av精麻传媒| 国产视频一区在线观看| 国产99免费视频| 在线视频欧美日韩| 四虎国产精品免费久久5151| 中文字幕在线乱| 国产高清不卡一区| 国产无遮挡又黄又爽| 日韩精品视频中文在线观看| 不卡福利视频| 亚洲精品久久区二区三区蜜桃臀| 久久99精品网久久| 夫妻性生活毛片| 精品久久久久久久一区二区蜜臀| 日本在线观看大片免费视频| 国产精品免费区二区三区观看| 99精品国产福利在线观看免费 | 日韩不卡一区| 欧美午夜精品理论片| 亚洲五码中文字幕| 青青草超碰在线| 国产精品久久久久91| 久久久久av| xxxxxx黄色| 色偷偷88欧美精品久久久| 日本在线免费| 国产二区一区| 手机精品视频在线观看| 很污很黄的网站| 亚洲精品一区二区三区香蕉| 欧美男男tv网站在线播放| 午夜精品一区二区在线观看的 | av片在线观看| 精品蜜桃传媒| 蜜臀av一区二区三区| 久热精品在线观看| 亚洲人在线观看| 日韩精品视频中文字幕| 免费毛片小视频| 亚洲天天做日日做天天谢日日欢| 偷拍精品一区二区三区| 国产噜噜噜噜噜久久久久久久久| 欧美视频二区| 黄色av片三级三级三级免费看| 欧美变态tickling挠脚心| 日韩av中字| 日韩精品在线视频免费观看| 欧美极品另类videosde| 免费av一级片| 成人网页在线免费观看|