共用方式為


大寫慣例

備註

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

本章的指導方針闡述了一種簡單的方法,當一致地應用大小寫規範時,能使類型、成員和參數的標識符更易於閱讀。

標識碼的大寫規則

若要區分標識碼中的單字,請將標識符中每個單字的第一個字母大寫。 請勿使用底線來區分單詞,或在任何識別符中使用底線。 根據標識碼的使用方式,有兩種適當的方式可將標識碼大寫:

  • PascalCasing

  • camelCasing

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

PropertyDescriptor HtmlTag

針對兩個字母縮略字都會大寫的特殊案例,如下列標識符所示:

IOStream

camelCasing 慣例僅用於參數名稱,會將每個單字的第一個字元改為大寫,但第一個單字除外,如下列範例所示。 如範例所示,以駱駝式大小寫表示的識別符號開頭的兩個字母縮略字都要小寫。

propertyDescriptor ioStream htmlTag

✔️ 請針對由多個單字組成的所有公用成員、類型和命名空間名稱,使用PascalCasing。

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

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

識別碼 大小寫 範例
Namespace 帕斯卡 namespace System.Security { ... }
類型 帕斯卡 public class StreamReader { ... }
介面 帕斯卡 public interface IEnumerable { ... }
方法 帕斯卡 public class Object {
public virtual string ToString();
}
房產 帕斯卡 public class String {
public int Length { get; }
}
事件 帕斯卡 public class Process {
public event EventHandler Exited;
}
領域 帕斯卡 public class MessageQueue {
public static readonly TimeSpan
InfiniteTimeout;
}
public struct UInt32 {
public const Min = 0;
}
列舉值 帕斯卡 public enum FileMode {
Append,
...
}
參數 駱駝 public class Convert {
public static int ToInt32(string value);
}

將複合字詞和一般詞彙大寫

大部分複合字詞會視為單一單字,以用於大寫。

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

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

帕斯卡 駱駝
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 都不能單獨依賴大小寫來區分相同內容中的兩個名稱。

❌ 切勿假設所有程式設計語言都區分大小寫。 他們不是。 名稱不能單獨區分大小寫。

© 2005年、2009年Microsoft公司部分。 保留所有權利。

經 Pearson Education, Inc. 許可重新刊登自 Krzysztof Cwalina 和 Brad Abrams 所著的 架構設計指導方針: 可重複使用的 .NET 程式庫慣例、慣用語和模式,第 2 版,2008 年 10 月 22 日由 Addison-Wesley Professional 發行,作為 Microsoft Windows 開發系列的一部分。

另請參閱