大小寫慣例
許多命名慣例都與識別項的大小寫有關; 很重要的一點是,Common Language Runtime (CLR) 可支援區分大小寫和不區分大小寫的語言。 這個主題中所述的大小寫慣例可讓開發人員容易了解及使用程式庫。
大小寫樣式
下列詞彙可描述指定識別項大小寫的不同方法。
Pascal 命名法的大小寫慣例
識別項的第一個字母和每個隨後串聯單字的第一個字母都是大寫的。 您可以為三個或以上的字元的識別項使用 Pascal 大小寫。 例如:
BackColor
Camel 命名法的大小寫慣例
識別項的第一個字母是小寫的,而每個隨後串聯文字的第一個字母是大寫的。 例如:
backColor
大寫
所有識別項的字母都是大寫的。 例如:
IO
識別項的大小寫規則
當識別項是由多個單字組成時,請勿在單字之間使用分隔符號 (例如底線 ("_") 或連字號 ("-")), 而是要使用大小寫來指示每一個單字的開頭。
下列方針可提供識別項的一般規則。
要針對所有公用成員、型別以及由多個單字組成的命名空間名稱使用 Pascal 命名法的大小寫慣例。
請注意,這項規則不適用於執行個體欄位。 如果是因為成員設計方針中所詳述的理由,您便不應該使用公用執行個體欄位。
要針對參數名稱使用 Camel 命名法的大小寫慣例。
下表將摘要列出識別項的大小寫規則,並提供不同識別項類型的範例。
識別項 |
Case |
範例 |
---|---|---|
類別 |
Pascal |
AppDomain |
列舉型別 |
Pascal |
ErrorLevel |
列舉值 |
Pascal |
FatalError |
事件 |
Pascal |
ValueChanged |
例外狀況類別 |
Pascal |
WebException |
唯讀靜態欄位 |
Pascal |
RedValue |
介面 |
Pascal |
IDisposable |
方法 |
Pascal |
ToString |
命名空間 |
Pascal |
System.Drawing |
參數 |
Camel |
<型別名稱> |
屬性 |
Pascal |
BackColor |
縮略字的大小寫規則
縮略字是從詞彙或片語中的單字字母所組成的單字。 例如,HTML 是 Hypertext Markup Language (超文字標記語言) 的縮略字。 只有當縮略字是大家所了解及熟知時,才應該在識別項中加入縮略字。 縮略字與縮寫不同之處是縮寫會縮短單一個字母。 例如,ID 是 identifier 的縮寫。 一般來說,程式庫名稱不應該使用縮寫。
注意
可用於識別項中的兩個縮寫是 ID 和 OK。在 Pascal 命名法的大小寫慣例的識別項中,它們應該以 Id 和 Ok 的形式出現。如果它們是當做 Camel 命名法的大小寫慣例的識別項中的第一個單字,則分別應該以 id 和 ok 的形式出現。
縮略字的大小寫需視縮略字的長度而定, 所有縮略字的長度至少都有兩個字元; 為了要在這些方針中說明,如果縮略字剛好為兩個字元,會將它視為短縮略字; 三個字元以上 (含) 的縮略字則為長縮略字。
下列方針將指定短縮略字和長縮略字的適當大小寫慣例, 識別項的大小寫規則優先於縮略字的大小寫規則。
要將兩個字元縮略字的兩個字元都變成大寫,除了 Camel 命名法的大小寫慣例的識別項之第一個單字以外。
名為 DBRate 的屬性是當做 Pascal 命名法的大小寫慣例的識別項之第一個單字使用的短縮略字 (DB) 範例; 名為 ioChannel 的參數則是當做 Camel 命名法的大小寫慣例的識別項之第一個單字使用的短縮略字 (IO) 範例。
只要將具有三個或三個以上字元的縮略字之第一個字母變成大寫,但是 Camel 命名法的大小寫慣例的識別項之第一個單字除外。
名為 XmlWriter 的類別是當做 Pascal 命名法的大小寫慣例的識別項之第一個單字使用的長縮略字範例; 名為 htmlReader 的參數則是當做 Camel 命名法的大小寫慣例的識別項之第一個單字使用的長縮略字範例。
不要將位於 Camel 命名法的大小寫慣例的識別項開頭的任何縮略字的任何字元變成大寫,不論其長度為何。
名為 xmlStream 的參數是當做 Camel 命名法的大小寫慣例的識別項之第一個單字使用的長縮略字 (xml) 範例; 名為 dbServerName 的參數則是當做 Camel 命名法的大小寫慣例的識別項之第一個單字使用的短縮略字 (db) 範例。
複合字和一般詞彙的大小寫規則
請勿將稱為封閉式複合字中的每一個單字變成大寫, 這些是寫成單一字的複合字,例如 "endpoint" (端點)。
例如,hashtable 是封閉式的複合字,應該處理為單一字及適當的大小寫。 在 Pascal 命名法的大小寫慣例中,它會是 Hashtable;在 Camel 命名法的大小寫慣例中,它會是 hashtable。 若要判斷某個單字是否為封閉式複合字,請檢查目前的字典。
下列清單可識別某些不屬於封閉式複合字的常用詞彙; 此單字會以 Pascal 命名法的大小寫慣例顯示,後面接著括號內的 Camel 命名法的大小寫慣例格式。
BitFlag (bitFlag)
FileName (fileName)
LogOff (logOff)
LogOn (logOn)
SignIn (signIn)
SignOut (signOut)
UserName (userName)
WhiteSpace (whiteSpace)
區分大小寫
大小寫方針的存在目的,只是為了讓識別項更易於閱讀及辨識; 大小寫慣例不能當做避免程式庫項目之間的名稱衝突的一個手段。
不要假設所有的程式設計語言都是區分大小寫, 其實並不是; 名稱不會只是因為大小寫而不同。
Portions Copyright 2005 Microsoft Corporation. All rights reserved.
Portions Copyright Addison-Wesley Corporation. All rights reserved.
設計指引的詳細資訊,請參閱"框架設計準則:公約、 成語和可重複使用的模式。網路圖書館"書 Krzysztof Cwalina 和布拉德 · 艾布拉姆斯,2005年艾迪生 - 衛斯理,發表。