日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

C#項目代碼規(guī)范

 賈朋亮博客 2014-04-03

前言

   小菜就是小菜,幾個人搞出來的項目,讓公司大牛稍微看了下,最后送出了慘不忍睹四個字。命名各種各樣,五花八門,大寫英文、小寫英文、大寫拼音、小寫拼音、英文和拼音組合、字母和特殊字符(下劃線等)組合。這樣的項目代碼要是讓人來維護或者添加功能、查找bug會頭痛欲裂。也沒辦法誰叫咱們是小菜呢?而且程序員最頭疼的事:http://kb.cnblogs.com/page/192017/這篇知識博文里,最終的結(jié)果居然是命名。所以……

  于是結(jié)合現(xiàn)有項目,通過博客園查看各種博客文章,進行了一下總結(jié)。當(dāng)然這樣做肯定是有不少好處的。

  1.方便代碼的交流和維護。

  2.不影響編碼的效率,不與大眾習(xí)慣沖突。

  3.使代碼更美觀、閱讀更方便。

  4.使代碼的邏輯更清晰、更易于理解。

在C#中通常使用的兩種編碼方式如下

  Camel(駝峰式): 大小寫形式-除了第一個單詞,所有單詞第一個字母大寫,其他字母小寫。
  Pascal(帕斯卡): 大小寫形式-所有單詞第一個字母大寫,其他字母小寫。

本文的C#代碼規(guī)范主要參考的是大神的規(guī)范:http://www.cnblogs.com/JimmyZhang/archive/2013/06/05/3118936.html,當(dāng)然還有其他的,在此就不一一進行列舉了。

C#代碼規(guī)范

1、 類型(類、結(jié)構(gòu)、委托、接口)、字段、屬性、方法、事件的命名

  優(yōu)先考慮使用英文(盡量使用英文),如果實在沒有合適的英文進行描述,可以使用拼音,使用中文是不符合要求的。

 

2、不使用縮寫

  所有類型、字段、屬性、方法、事件盡量不使用縮寫,包括大家熟知的縮寫,例如msg。

 

3、不使用單個字母的變量

  不使用單個字母的變量, 像 i、m、n,使用index等來替換,用于循環(huán)迭代的變量除外。

 

 

4、用Tab作為縮進,并設(shè)置縮進大小為4

 

5、 注釋

類型、屬性、事件、方法、方法參數(shù),根據(jù)需要添加注釋。

如果類型、屬性、事件、方法、方法參數(shù)的名稱已經(jīng)是自解釋了,不需要加注釋;

否則需要添加注釋。

 

6、類型名稱和源文件名稱一致

當(dāng)類型命名為Product時,其源文件命名只能是Product.cs。

 

7、所有命名空間、類型名稱使用Pascal風(fēng)格

 

8、本地變量、方法參數(shù)名使用Camel風(fēng)格(不使用下劃線)

紅色標(biāo)記的為使用Camel風(fēng)格的變量或者方法參數(shù)

 

9、在一個類中,各個方法需用一空行(最好是一個空行)

 

10、避免使用大文件。如果一個文件里的代碼超過300-400行,必須考慮將代碼分開到不同的類中。同時避免寫太長的方法,如果一個方法代碼過長(暫時沒有明確指出方法的行數(shù)),應(yīng)該考慮將其分解為不同的方法

 

11、一個方法只完成一個任務(wù)。不要把多個任務(wù)組合到一個方法中,即使那些任務(wù)非常小

 

12、調(diào)用類型成員內(nèi)部其他成員,需加this,調(diào)用父類成員需加base

 

13、不在代碼中使用具體的路徑和驅(qū)動器名。 使用相對路徑,并使路徑可復(fù)用

 

14、不要“捕捉了異常卻什么也不做“。如果隱藏了一個異常,你將永遠(yuǎn)不知道異常到底發(fā)生了沒有

 

15、如果if語句塊的內(nèi)容只有一行,可以不加花括號,并且最好和if語句位于同一行

 

16、類型內(nèi)部的私有字段和受保護字段,使用Camel風(fēng)格命名,但加“_”前綴

 

 

17、類型成員的排列順序

類型成員的排列順序自上而下依次為:

字段:私有字段、受保護字段

屬性:私有屬性、受保護屬性、公有屬性

事件:私有事件、受保護事件、公有事件

構(gòu)造函數(shù):參數(shù)數(shù)量最多的構(gòu)造函數(shù),參數(shù)數(shù)量中等的構(gòu)造函數(shù),參數(shù)數(shù)量最少的構(gòu)造函數(shù)

方法:重載方法的排列順序與構(gòu)造函數(shù)相同,從參數(shù)數(shù)量最多往下至參數(shù)最少

 

18、委托和事件的命名

委托以EventHandler作為后綴命名,例如 SalesOutEventHandler。

事件以其對應(yīng)的委托類型,去掉EventHandler后綴,并加上On前綴構(gòu)成。

示例代碼如下:

 

19、返回bool類型的方法、屬性的命名

如果方法返回的類型是bool類型,則其前綴為Is,例如:IsHidden。

如果某個屬性的類型為bool類型,則其前綴為Can,例如:CanHidden。

 

20、常見集合后綴類型命名

凡符合下表所列的集合類型,應(yīng)添加相應(yīng)的后綴。

 

21、常見字段、屬性命名

字段、屬性種類比較繁雜,因此僅列出最常用的幾項

 

總結(jié)

本文的規(guī)范,將會在接下來的新項目中進行參考使用,使用過程中遇到的問題或者意見,將會反饋到本文,也恭請各位客官前來參閱,共同優(yōu)化。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多