一般命名慣例

注意

此內容是由 Pearson Education, Inc. 授權轉載自架構設計指導方針:可重複使用 .NET 程式庫的慣例、慣用語和模式,第 2 版。 該版於 2008 年出版,該書自那以後已於第三版進行了全面修訂。 此頁面的某些資訊可能已過期。

本節說明關於字詞選擇的一般命名慣例、使用縮寫和首字母縮寫的指導方針,以及如何避免使用特定語言名稱的建議。

字詞選擇

✔️ 請選擇易於閱讀的識別碼名稱。

例如,名為 HorizontalAlignment 的屬性比 AlignmentHorizontal 更容易理解。

✔️ 以可讀性為優先,而非簡潔性。

屬性名稱 CanScrollHorizontally 會優於 ScrollableX (模糊指涉 X 軸)。

❌ 請勿使用底線、連字號或任何其他非英數字元。

❌ 請勿使用匈牙利命名法。

❌ 避免使用與常見程式設計語言關鍵字衝突的識別碼。

根據 Common Language Specification (CLS) 的第 4 個規則,所有符合規範的語言都必須提供一種機制,允許使用該語言的關鍵字做為識別碼以存取具名項目。 舉例來說,C# 針對此情況可使用 @ 符號作為逸出機制。 不過,依然建議避免常見的關鍵字,因為使用逸出序列的方法比起不使用的方法更加困難。

使用縮寫和首字母縮寫

❌ 請勿使用縮寫或首字母縮寫作為識別碼名稱的一部分。

例如,請使用 GetWindow,而非 GetWin

❌ 請勿使用任何罕見的首字母縮寫,最好在必要時才使用。

避免語言特定的名稱

✔️ 請使用語意相關的名稱,而不是類型名稱的語言特定關鍵字。

例如,GetLength 是比 GetInt 更好的名稱。

✔️ 在識別碼沒有類型之外語意意義的少數情況下,請使用一般 CLR 類型名稱,而不是語言特定的名稱。

例如,轉換成 Int64 的方法應該命名為 ToInt64,而不是 ToLong (因為 Int64 是 C# 特定別名 long 的 CLR 名稱)。 下表提供數個使用 CLR 類型名稱的基底資料類型 (以及 C#、Visual Basic 和 C++ 的對應類型名稱)。

C# Visual Basic C++ CLR
sbyte SByte char SByte
byte 位元組 unsigned char 位元組
short Short short Int16
ushort UInt16 unsigned short UInt16
int 整數 int Int32
uint UInt32 不帶正負號的整數 UInt32
long Long __int64 Int64
ulong UInt64 unsigned __int64 UInt64
float Single float Single
double Double double Double
bool 布林值 bool 布林值
char Char wchar_t Char
string String String String
object Object Object Object

✔️ 在識別碼沒有語意意義且參數的類型不重要的少數情況下,請使用 valueitem 之類的一般名稱,不要重複類型名稱。

命名現有 API 的新版本

✔️ 建立現有 API 的新版本時,請使用與舊 API 類似的名稱。

這有助於醒目提示 API 之間的關聯性。

✔️ 請優先採用新增尾碼來指出現有 API 的新版本,而不是使用前綴。

這個作法有助於瀏覽文件或使用 IntelliSense 時的探索。 舊版 API 會與新版 API 排列在一起,因為大部分的瀏覽器和 IntelliSense 是依字母順序顯示識別碼。

✔️ 請考慮使用全新的但有意義的識別碼,而不是新增尾碼或前綴。

✔️ 請使用數值尾碼來指出現有 API 新版本,特別是當 API 的現有名稱是唯一合理的名稱 (例如,此名稱為業界標準),且不適合新增任何有意義的尾碼 (或變更名稱) 的情況下。

❌ 請勿對識別碼使用「Ex」(或類似字詞) 尾碼來區別同一 API 的新舊版本。

✔️ 在導入適用於 64 位元整數 (長整數) 而不是 32 位元整數的 API 版本時,請使用「64」尾碼。 只有當已存在現有的 32 位元 API 時,才需要採用此方法;請勿對只有 64 位元版本的全新 API 執行此動作。

Portions © 2005, 2009 Microsoft Corporation. 著作權所有,並保留一切權利。

獲 Pearson Education, Inc. 的授權再版,從 Krzysztof Cwalina 和 Brad Abrams 撰寫,並在 2008 年 10 月 22 日由 Addison-Wesley Professional 出版,作為 Microsoft Windows Development Series 一部份的 Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition 節錄。

另請參閱