C#命名規範

6. 命名

6.1. 命名的基本約定

使用可以準確說明變量/字段/類的完整的英文描述符,如firstName。對一些作用顯而易見的變量可以採用簡單的命名,如在循環裏的遞增(減)變量就可以被命名爲 “ i ”。

儘量採用項目所涉及領域的術語。

採用大小寫混合,提高名字的可讀性。爲區分一個標識符中的多個單詞,把標識符中的每個單詞的首字母大寫。不採用下劃線作分隔字符的寫法。有兩種適合的書寫方法,適應於不同類型的標識符:

PasalCasing:標識符的第一個單詞的字母大寫;

camelCasing:標識符的第一個單詞的字母小寫。

下表描述了不同類型標識符的大小寫規則:

標識符

大小寫

示例

命名空間

Pascal

namespace Com.Techstar.ProductionCenter

類型

Pascal

public class DevsList

接口

Pascal

public interface ITableModel

方法

Pascal

public void UpdateData()

屬性

Pascal

Public intLength{…}

事件

Pascal

public event EventHandler Changed;

私有字段

Camel

private string fieldName;

非私有字段

Pascal

public string FieldName;

枚舉值

Pascal

FileMode{Append}

參數

Camel

public void UpdateData(string fieldName)

局部變量

Camel

string fieldName;

避免使用縮寫,如果一定要使用,就謹慎使用。同時,應該保留一個標準縮寫的列表,並且在使用時保持一致。

對常見縮略詞,兩個字母的縮寫採用統一大小寫的方式(示例:ioStream,getIOStream);多字母縮寫採用首字母大寫,其他字母小寫的方式(示例:getHtmlTag);

避免使用長名字(最好不超過 15 個字母)。

避免使用相似或者僅在大小寫上有區別的名字。

6.2. 各種標示符類型的命名約定

6.2.1. 程序集命名

公司域名(Techstar)+ 項目名稱 + 模塊名稱(可選),例如:

中心繫統程序集:Techstar.ProductionCenter;

中心繫統業務邏輯程序集:Techstar.ProductionCenter.Business;

6.2.2. 命名空間命名

採用和程序集命名相同的方式:公司域名(Techstar)+ 項目名稱 + 模塊名稱。另外,一般情況下建議命名空間和目錄結構相同。例如:

中心繫統:Techstar.ProductionCenter;

中心繫統下的用戶控件:Techstar.ProductionCenter.UserControl;

中心繫統業務邏輯:Techstar.ProductionCenter.Business;

中心繫統數據訪問:Techstar.ProductionCenter.Data;

6.2.3. 類和接口命名

類的名字用名詞;

避免使用單詞的縮寫,除非它的縮寫已經廣爲人知,如HTTP。

接口的名字以字母I開頭。保證對接口的標準實現名字只相差一個“I”前綴,例如對IComponent的標準實現爲Component;

泛型類型參數的命名:命名爲T或者以T開頭的描述性名字,例如:

public class List<T>

public class MyClass<TSession>

´ 對同一項目的不同命名空間中的類,命名避免重複。避免引用時的衝突和混淆;

6.2.4. 方法命名

第一個單詞一般是動詞

如果方法返回一個成員變量的值,方法名一般爲Get+成員變量名,如若返回的值 是bool變量,一般以Is作爲前綴。另外,如果必要,考慮用屬性來替代方法,具 體建議見10.1.2節;

如果方法修改一個成員變量的值,方法名一般爲:Set + 成員變量名。同上,考慮 用屬性來替代方法;

6.2.5. 變量命名

按照使用範圍來分,我們代碼中的變量的基本上有以下幾種類型,類的公有變量;類的私有變量(受保護同公有);方法的參數變量;方法內部使用的局部變量。這些變量的命名規則基本相同,見標識符大小寫對照表。區別如下:

i. 類的公有變量按通常的方式命名,無特殊要求;

ii. 類的私有變量採用兩種方式均可:採用加“m”前綴,例如mWorkerName;

iii. 方法的參數變量採用camalString,例如workerName;

iv. 方法內部的局部變量採用camalString,例如workerName;

不要用_或&作爲第一個字母;

儘量使用短而且具有意義的單詞;

單字符的變量名一般只用於生命期非常短暫的變量。i,j,k,m,n一般用於integer;c,d,e 一般用於characters;s用於string

如果變量是集合,則變量名用複數。例如表格的行數,命名應爲:RowsCount;

命名組件採用匈牙利命名法,所有前綴均應遵循同一個組件名稱縮寫列表

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章