大小寫慣例

本章中的指導方針會配置簡單的方法,以使用案例,一致地套用時,讓類型、成員和參數的識別碼更容易閱讀。

識別碼的大寫規則

若要區分識別碼中的單字,請將識別碼中每個單字的第一個字母大寫。 請勿使用底線來區分文字,或針對該事項,在識別碼中的任何位置。 根據識別碼的使用方式,有兩種適當的方式可將識別碼大寫:

  • PascalCasing

  • camelCasing

PascalCasing 慣例,用於參數名稱以外的所有識別碼,將每個單字的第一個字元大寫 (包括長度超過兩個字母的縮寫) ,如下列範例所示:

PropertyDescriptor HtmlTag

特殊案例是針對兩個字母的縮寫,其中兩個字母都是大寫的,如下列識別碼所示:

IOStream

camelCasing 慣例僅適用于參數名稱,會將每個單字的第一個字元大寫,但第一個字除外,如下列範例所示。 如範例所示,開頭為 camel 大小寫識別碼的兩個字母縮略字都是小寫。

propertyDescriptor ioStream htmlTag

✔️ DO 針對包含多個單字的所有公用成員、類型和命名空間名稱使用 PascalCasing。

✔️ 請對參數名稱使用 camelCasing。

下表描述不同類型的識別碼大小寫規則。

識別碼 大小寫 範例
命名空間 Pascal namespace System.Security { ... }
類型 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;
}
public struct UInt32 {
public const Min = 0;
}
列舉值 Pascal public enum FileMode {
Append,
...
}
參數 Camel public class Convert {
public static int ToInt32(string value);
}

大寫複合單字和一般詞彙

大部分複合詞匯會視為大寫的單字。

❌ 請勿將每個單字大寫成所謂的封閉式複合字組。

這些是以單字撰寫的複合字組,例如端點。 為了達到大小寫指導方針的目的,請將封閉式複合字視為單字。 使用目前的字典來判斷複合字是否以封閉形式撰寫。

Pascal Camel Not
BitFlag bitFlag Bitflag
Callback callback CallBack
Canceled canceled Cancelled
DoNot doNot Don't
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
Placeholder placeholder PlaceHolder
SignIn signIn SignOn
SignOut signOut SignOff
UserName userName Username
WhiteSpace whiteSpace Whitespace
Writable writable Writeable

區分大小寫

雖然有些支援區分大小寫,但不需要在 CLR 上執行的語言。 即使您的語言支援它,可能存取架構的其他語言也不會。 因此,外部可存取的任何 API 都無法單獨依賴大小寫來區分相同內容中的兩個名稱。

❌ DO NOT 假設所有程式設計語言都會區分大小寫。 但它們並不相等。 名稱不可以單獨區分大小寫。

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 節錄。

另請參閱