一般命名慣例
更新:2007 年 11 月
一般命名慣例會討論如何在程式庫中選擇項目的最佳名稱;這些方針適用於所有的識別項。之後的章節將討論類似命名空間或屬性的命名特定項目。
文字選擇
要選擇可輕鬆讀取的識別項名稱。例如,名為 HorizontalAlignment 的屬性在英文中要比 AlignmentHorizontal 更具可讀性。
可讀性要優先於簡潔性。屬性名稱 CanScrollHorizontally 優於 ScrollableX (X 軸的模糊參考)。
不要使用底線、連字號或任何其他非英數的字元。
不要使用匈牙利文標記法。
匈牙利文標記法是在識別項中加入前置詞來編碼與參數有關的某些中繼資料之作法 (例如,識別項的資料型別)。
避免使用與廣泛使用的程式設計語言之關鍵字衝突的識別項。
雖然符合 CLS 標準的語言必須提供一個方法來使用關鍵字當做一般單字,但是最佳作法指示您不需強制開發人員了解如何這麼做。對於大部分的程式設計語言來說,語言參考文件包含了語言所用的關鍵字之清單。下表將提供某些廣泛使用的程式設計語言之參考文件的連結。
語言 |
連結 |
---|---|
C# |
|
C++ |
|
Visual Basic |
縮寫和縮略字
一般來說,您不應該使用縮寫或縮略字,這樣會讓您的名稱有較低的可讀性。同樣地,也會很難知道何時可以安心地假設某個縮略字已被廣泛認可。
如需了解縮寫的大小寫規則,請參閱縮略字的大小寫規則。
不要使用縮寫或縮短形做為識別項名稱的一部分。
例如,使用 OnButtonClick,而非 OnBtnClick。
不要使用任何不被廣泛接受的縮略字,而且只在必要時使用。
語言特定的名稱
型別名稱要使用語意上讓人覺得有趣的名稱,而不要使用語言特定的關鍵字。例如,GetLength 是優於 GetInt 的名稱。
在識別項在其型別之外沒有任何語意上的含意之罕見情況中,要使用泛型 Common Language Runtime (CLR) 型別名稱,而不要使用語言特定的名稱。
例如,將資料轉換成 Int16 的方法應該命名為 ToInt16,而非 ToShort,因為 Short 是 Int16 的語言特定之型別名稱。
下表將顯示一般程式設計語言和 CLR 對應項目的語言特定之型別名稱。
C# 型別名稱 |
Visual Basic 型別名稱 |
JScript 型別名稱 |
Visual C++ 型別名稱 |
Ilasm.exe 表示 |
CLR 型別名稱 |
---|---|---|---|---|---|
sbyte |
SByte |
sByte |
char |
int8 |
SByte |
byte |
Byte |
byte |
unsigned char |
unsigned int8 |
Byte |
short |
Short |
short |
short |
int16 |
Int16 |
ushort |
UInt16 |
ushort |
unsigned short |
unsigned int16 |
UInt16 |
int |
Integer |
int |
int |
int32 |
Int32 |
uint |
UInt32 |
uint |
unsigned int |
unsigned int32 |
UInt32 |
long |
Long |
long |
__int64 |
int64 |
Int64 |
ulong |
UInt64 |
ulong |
unsigned __int64 |
unsigned int64 |
UInt64 |
float |
Single |
float |
float |
float32 |
Single |
double |
Double |
double |
double |
float64 |
Double |
bool |
Boolean |
boolean |
bool |
bool |
Boolean |
char |
Char |
char |
wchar_t |
char |
Char |
string |
String |
string |
String |
string |
String |
object |
Object |
object |
Object |
object |
Object |
在識別項沒有任何語意上的含意且參數的型別不重要的罕見情況中,要使用類似值或項目的一般名稱,而不要重複型別名稱。
Portions Copyright 2005 Microsoft Corporation.All rights reserved.
Portions Copyright Addison-Wesley Corporation.All rights reserved.
如需設計方針的詳細資訊,請參閱由 Krzysztof Cwalina 和 Brad Abrams 所著,並由 Addison-Wesley 於 2005 年發行的「Framework 設計方針:可重複使用之 .NET 程式庫的慣例、慣用語法和模式」一書。