第2章 命名規範

2.1. 大小寫約

2.1.1. 標識符的大小寫規則

ü PascalCasing命名多個單詞構成的命名空間、類型以及成員的名字。

例如:使用TextColor而不使用Textcolor,單個單詞(Button)的首字母大寫,當一個單詞爲複合詞(endpoint)作爲一個單詞,只有第一字母大寫。

 

ü camelCasing命名參數的名字。

 

ü 不同類型標識符的大小寫規則,如下表:

 

標識符

命名法

例子

命名空間

Pascal

nameSpace System.Scurity{...}

類型

Pascal

public class StreamReader{...}

接口

Pascal

public interface IEnumerable{...}

方法

Pascal

public class Object{
public virtual string Tostring();}

屬性

Pascal

public class String{
public int Length {get;}}

事件

Pascal

public class Process{
public event EventHandler Exited;}

字段(靜態)

Pascal

public class MessageQueue{
public static readonly TimeSpan InfiniteTimeout;}

枚舉值

Pascal

FileMode{Append,...}

參數

Camel

public class Convert{
public static int ToInt32 (string value);}

2.1.2. 縮寫詞首字母的大小寫

ü 要把縮寫詞首字母爲兩個字母全部大寫,當是camelCasing風格的參數名的作爲第一單詞來使用。

例如:

System.IO

Public void StartIO(Stream ioStream)

 

ü 把縮寫詞首字母爲三個或三個以上字母第一字母大寫,當是camelCasing風格的標識符作爲第一單詞來命名。

例如:

System.Xml

Public void processHtmlTag(string htmlTag)

 

ü 不要把camelCasing風格的標識符頭部的任何首字母縮寫詞的任何字母大寫,無論首字母縮寫詞的長度是多少。

2.1.3. 複合詞和常用術語的大小寫

ü 在涉及大小寫時,大多數複合詞術語要作爲單個單詞處理。

 

ü 不要把閉合形式的複合詞中每個單詞的首字母大寫。

 

ü 常用的複合詞和常用術語的大小寫及拼寫。如下表:

 

Pascal

Camel

Not

BitFlag

bitFlag

Bitflag

Callback

callback

CallBack

Canceled

canceled

Cancelled

DoNot

doNot

dont

Email

email

EMail

Endpoint

endpoint

EndPoint

FileName

fileName

Filename

Gridline

gridline

GridLine

Hashtable

hashtable

HashTable

Id

id

ID

Indexes

indexes

Indices

LogOff

logOff

LogOut

LogOn

logOn

LogIn

Metadata

metadata

MetaData,metaData

Multipanel

multipanel

MultiPanel

Multiview

multiview

MultiView

Namespace

namespace

NameSpace

Ok

ok

OK

Pi

pi

PI

Placehoder

placehoder

PlaceHoder

Signln

signln

SignOn

SignOut

signOut

SignOff

UserName

userName

Username

WhiteSpace

whiteSpace

Whitespace

Writable

writable

Writeable

 

2.1.4. 是否區分大小寫

ü 任何外部可訪問的API不應該僅通過大小寫來區分位於同一個上下文中的兩個名字。

 

ü 區分大小寫只有一條規範:不要以爲所有的編程語言都是區分大小寫的,實際情況並非如此。不應該僅僅通過大小寫來區分名字。

2.2. 通用命名的約定

2.2.1. 單詞的選擇

ü 爲標識符選擇易於閱讀的名字。

 

ü 要更看重可讀性,而不是更看重簡短性。如屬性名CanScrollHorizontally要勝過ScrollableX

 

û 不要使用下劃線、連字符以及其他任何既非字母也非數字的字符。

 

û 不要使用匈牙利命名法。

 

û 避免使用與廣泛使用的編程語言的關鍵字有衝突的標識符。

2.2.2. 使用單詞縮寫和首字母縮寫詞

û 不要使用縮寫詞和縮約詞作爲標識符名字的一部分。

例如:要用GetWindow,而不用GetWin

 

û 不要使用未被廣泛接受的首字母縮寫詞,即使是被廣泛接受的首字母縮寫詞,也只應該在必需的時候才使用。

例如:UI用來表示User InterfaceHTML用來表示Hypertext Markup Language。雖然

許多框架設計師認爲一些新近的首字母縮寫詞很快就會被廣泛接受,但在框架的標識

符中使用它們仍是不好的做法。

2.2.3. 避免使用語言特有的名字

ü 要給類型名使用語義上有意義的名字,而不要使用語言特有的關鍵字。

例如:GetLength這個名字比GetInt要好。

 

ü 要使用CLR的通用類型名,而不要使用語言特有的別名——如果除了類型之外,標識符沒有其他的語義。

例如:一個把類型轉換爲System. Int64的方法應該被命名爲ToInt64,而不是ToLong

(因爲System. Int64CLR類型名,它對應於C#特有的別名long)。

 

ü 語言特有的類型名及對應的CLR類型名,如下表:

 

C#

Visual Basic

C++

 

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